Updated preloaded-classes file.
diff --git a/core/java/com/android/internal/os/ZygoteInit.java b/core/java/com/android/internal/os/ZygoteInit.java
index f67a235..94149e1 100644
--- a/core/java/com/android/internal/os/ZygoteInit.java
+++ b/core/java/com/android/internal/os/ZygoteInit.java
@@ -291,6 +291,15 @@
                         } else {
                             missingClasses += " " + line;
                         }
+                    } catch (Throwable t) {
+                        Log.e(TAG, "Error preloading " + line + ".", t);
+                        if (t instanceof Error) {
+                            throw (Error) t;
+                        }
+                        if (t instanceof RuntimeException) {
+                            throw (RuntimeException) t;
+                        }
+                        throw new RuntimeException(t);
                     }
                 }
 
diff --git a/preloaded-classes b/preloaded-classes
index 0520e41..7d1f960 100644
--- a/preloaded-classes
+++ b/preloaded-classes
@@ -1,28 +1,52 @@
 # Classes which are preloaded by com.android.internal.os.ZygoteInit.
+# Automatically generated by /frameworks/base/tools/preload.
+# percent=75, weight=500, bucket_size=5
+SQLite.Blob
+SQLite.Database
+SQLite.FunctionContext
+SQLite.Stmt
+SQLite.Vm
 android.R$styleable
 android.accounts.AccountMonitor
 android.accounts.AccountMonitor$AccountUpdater
+android.accounts.AccountMonitorListener
+android.accounts.AccountsServiceConstants
+android.accounts.IAccountsService
+android.accounts.IAccountsService$Stub
 android.app.Activity
+android.app.Activity$ManagedCursor
 android.app.ActivityGroup
-android.app.ActivityManager$MemoryInfo$1
 android.app.ActivityManagerNative
 android.app.ActivityManagerProxy
 android.app.ActivityThread
 android.app.ActivityThread$ActivityRecord
 android.app.ActivityThread$AppBindData
 android.app.ActivityThread$ApplicationThread
+android.app.ActivityThread$BindServiceData
 android.app.ActivityThread$ContextCleanupInfo
+android.app.ActivityThread$CreateServiceData
 android.app.ActivityThread$GcIdler
 android.app.ActivityThread$H
 android.app.ActivityThread$Idler
+android.app.ActivityThread$NewIntentData
 android.app.ActivityThread$PackageInfo
 android.app.ActivityThread$PackageInfo$ReceiverDispatcher
+android.app.ActivityThread$PackageInfo$ReceiverDispatcher$Args
 android.app.ActivityThread$PackageInfo$ReceiverDispatcher$InnerReceiver
 android.app.ActivityThread$PackageInfo$ServiceDispatcher
+android.app.ActivityThread$PackageInfo$ServiceDispatcher$ConnectionInfo
+android.app.ActivityThread$PackageInfo$ServiceDispatcher$DeathMonitor
 android.app.ActivityThread$PackageInfo$ServiceDispatcher$InnerConnection
+android.app.ActivityThread$PackageInfo$ServiceDispatcher$RunConnection
 android.app.ActivityThread$ProviderRecord
 android.app.ActivityThread$ProviderRefCount
+android.app.ActivityThread$ReceiverData
+android.app.ActivityThread$ResourcesKey
+android.app.ActivityThread$ResultData
+android.app.ActivityThread$ServiceArgsData
+android.app.ActivityThread$StopInfo
 android.app.AlertDialog
+android.app.AlertDialog$Builder
 android.app.Application
 android.app.ApplicationContext
 android.app.ApplicationContext$ApplicationContentResolver
@@ -30,27 +54,43 @@
 android.app.ApplicationContext$ApplicationPackageManager$PackageRemovedReceiver
 android.app.ApplicationContext$ApplicationPackageManager$ResourceName
 android.app.ApplicationContext$SharedPreferencesImpl
+android.app.ApplicationContext$SharedPreferencesImpl$EditorImpl
 android.app.ApplicationLoaders
 android.app.ApplicationThreadNative
 android.app.Dialog
+android.app.Dialog$1
+android.app.Dialog$ListenersHandler
 android.app.ExpandableListActivity
 android.app.IActivityManager
+android.app.IActivityManager$ContentProviderHolder
 android.app.IActivityManager$ContentProviderHolder$1
+android.app.IAlarmManager
 android.app.IAlarmManager$Stub
 android.app.IAlarmManager$Stub$Proxy
 android.app.IApplicationThread
+android.app.IInstrumentationWatcher
+android.app.IInstrumentationWatcher$Stub
+android.app.INotificationManager
 android.app.INotificationManager$Stub
 android.app.INotificationManager$Stub$Proxy
 android.app.ISearchManager
 android.app.ISearchManager$Stub
 android.app.ISearchManager$Stub$Proxy
+android.app.ISearchManagerCallback
+android.app.ISearchManagerCallback$Stub
+android.app.IServiceConnection
+android.app.IServiceConnection$Stub
+android.app.ITransientNotification
+android.app.ITransientNotification$Stub
 android.app.Instrumentation
 android.app.IntentReceiverLeaked
 android.app.ListActivity
 android.app.ListActivity$1
 android.app.ListActivity$2
 android.app.LocalActivityManager
+android.app.LocalActivityManager$LocalActivityRecord
 android.app.Notification
+android.app.Notification$1
 android.app.NotificationManager
 android.app.PendingIntent
 android.app.PendingIntent$1
@@ -58,250 +98,585 @@
 android.app.ReceiverRestrictedContext
 android.app.ResultInfo
 android.app.ResultInfo$1
-android.app.SearchDialog
-android.app.SearchDialog$SearchAutoComplete
+android.app.SearchManager$SearchManagerCallback
+android.app.SearchManager$SearchManagerCallback$1
+android.app.SearchManager$SearchManagerCallback$2
 android.app.Service
 android.app.ServiceConnectionLeaked
 android.app.TabActivity
-android.content.AbstractSyncableContentProvider
-android.content.AbstractTableMerger
+android.appwidget.AppWidgetHostView
+android.appwidget.AppWidgetManager
+android.appwidget.AppWidgetProvider
+android.backup.BackupDataInput
+android.backup.BackupDataInput$EntityHeader
+android.backup.BackupDataOutput
+android.backup.BackupHelperDispatcher
+android.backup.BackupHelperDispatcher$Header
+android.backup.FileBackupHelperBase
+android.bluetooth.BluetoothA2dp
+android.bluetooth.BluetoothAudioGateway
+android.bluetooth.BluetoothDevice
+android.bluetooth.Database
+android.bluetooth.HeadsetBase
+android.bluetooth.IBluetoothA2dp
+android.bluetooth.IBluetoothA2dp$Stub
+android.bluetooth.IBluetoothDevice
+android.bluetooth.IBluetoothDevice$Stub
+android.bluetooth.IBluetoothDevice$Stub$Proxy
+android.bluetooth.RfcommSocket
+android.bluetooth.ScoSocket
+android.content.AsyncQueryHandler
+android.content.AsyncQueryHandler$WorkerArgs
 android.content.AsyncQueryHandler$WorkerHandler
 android.content.BroadcastReceiver
 android.content.ComponentCallbacks
 android.content.ComponentName
 android.content.ComponentName$1
+android.content.ContentProvider
 android.content.ContentProvider$Transport
+android.content.ContentProviderNative
 android.content.ContentProviderProxy
 android.content.ContentQueryMap
 android.content.ContentQueryMap$1
 android.content.ContentResolver
 android.content.ContentResolver$CursorWrapperInner
+android.content.ContentResolver$ParcelFileDescriptorInner
+android.content.ContentUris
 android.content.ContentValues
+android.content.ContentValues$1
 android.content.Context
 android.content.ContextWrapper
 android.content.DialogInterface
 android.content.DialogInterface$OnCancelListener
+android.content.DialogInterface$OnClickListener
 android.content.DialogInterface$OnDismissListener
+android.content.DialogInterface$OnKeyListener
+android.content.DialogInterface$OnMultiChoiceClickListener
 android.content.IContentProvider
 android.content.IContentService
 android.content.IContentService$Stub
+android.content.IContentService$Stub$Proxy
+android.content.IIntentReceiver
+android.content.IIntentReceiver$Stub
+android.content.IIntentSender
+android.content.IIntentSender$Stub
+android.content.IIntentSender$Stub$Proxy
+android.content.ISyncAdapter
+android.content.ISyncAdapter$Stub
 android.content.Intent
 android.content.Intent$1
 android.content.IntentFilter
+android.content.IntentFilter$1
 android.content.SearchRecentSuggestionsProvider
+android.content.SearchRecentSuggestionsProvider$DatabaseHelper
 android.content.ServiceConnection
 android.content.SharedPreferences
+android.content.SharedPreferences$Editor
+android.content.SharedPreferences$OnSharedPreferenceChangeListener
+android.content.SyncAdapter
+android.content.SyncAdapter$Transport
+android.content.SyncContext
 android.content.SyncResult
-android.content.SyncResult$1
 android.content.SyncStats
-android.content.SyncStats$1
-android.content.SyncableContentProvider
 android.content.UriMatcher
 android.content.pm.ActivityInfo
 android.content.pm.ActivityInfo$1
 android.content.pm.ApplicationInfo
 android.content.pm.ApplicationInfo$1
 android.content.pm.ComponentInfo
+android.content.pm.ConfigurationInfo
+android.content.pm.ConfigurationInfo$1
+android.content.pm.IPackageDeleteObserver$Stub
 android.content.pm.IPackageManager
 android.content.pm.IPackageManager$Stub
 android.content.pm.IPackageManager$Stub$Proxy
 android.content.pm.InstrumentationInfo
 android.content.pm.InstrumentationInfo$1
+android.content.pm.PackageInfo
+android.content.pm.PackageInfo$1
 android.content.pm.PackageItemInfo
 android.content.pm.PackageManager
-android.content.pm.PackageManager$NameNotFoundException
+android.content.pm.PathPermission
+android.content.pm.PathPermission$1
 android.content.pm.PermissionInfo
+android.content.pm.PermissionInfo$1
 android.content.pm.ProviderInfo
 android.content.pm.ProviderInfo$1
+android.content.pm.ResolveInfo
 android.content.pm.ResolveInfo$1
+android.content.pm.ServiceInfo
 android.content.pm.ServiceInfo$1
+android.content.pm.Signature
+android.content.pm.Signature$1
+android.content.res.AssetFileDescriptor
+android.content.res.AssetFileDescriptor$1
 android.content.res.AssetManager
 android.content.res.AssetManager$AssetInputStream
 android.content.res.ColorStateList
 android.content.res.ColorStateList$1
+android.content.res.CompatibilityInfo
+android.content.res.CompatibilityInfo$1
+android.content.res.CompatibilityInfo$Translator
 android.content.res.Configuration
+android.content.res.Configuration$1
+android.content.res.PluralRules
+android.content.res.PluralRules$en
 android.content.res.Resources
+android.content.res.Resources$1
 android.content.res.Resources$Theme
 android.content.res.StringBlock
+android.content.res.StringBlock$StyleIDs
 android.content.res.TypedArray
 android.content.res.XmlBlock
 android.content.res.XmlBlock$Parser
+android.content.res.XmlResourceParser
 android.database.AbstractCursor
 android.database.AbstractCursor$SelfContentObserver
 android.database.AbstractWindowedCursor
 android.database.BulkCursorNative
 android.database.BulkCursorProxy
 android.database.BulkCursorToCursorAdaptor
+android.database.CharArrayBuffer
 android.database.ContentObservable
+android.database.ContentObserver
+android.database.ContentObserver$NotificationRunnable
 android.database.ContentObserver$Transport
+android.database.CrossProcessCursor
 android.database.Cursor
 android.database.CursorToBulkCursorAdaptor
 android.database.CursorToBulkCursorAdaptor$ContentObserverProxy
 android.database.CursorWindow
+android.database.CursorWindow$1
 android.database.CursorWrapper
 android.database.DataSetObservable
+android.database.DataSetObserver
+android.database.DatabaseUtils
+android.database.DatabaseUtils$InsertHelper
+android.database.IBulkCursor
+android.database.IContentObserver
+android.database.IContentObserver$Stub
 android.database.IContentObserver$Stub$Proxy
-android.database.MergeCursor
+android.database.MatrixCursor
+android.database.Observable
+android.database.SQLException
+android.database.sqlite.SQLiteClosable
 android.database.sqlite.SQLiteCursor
+android.database.sqlite.SQLiteCursorDriver
 android.database.sqlite.SQLiteDatabase
 android.database.sqlite.SQLiteDatabase$CursorFactory
+android.database.sqlite.SQLiteDebug
+android.database.sqlite.SQLiteDebug$PagerStats
 android.database.sqlite.SQLiteDirectCursorDriver
+android.database.sqlite.SQLiteException
+android.database.sqlite.SQLiteOpenHelper
+android.database.sqlite.SQLiteProgram
 android.database.sqlite.SQLiteQuery
+android.database.sqlite.SQLiteQueryBuilder
 android.database.sqlite.SQLiteStatement
 android.ddm.DdmHandleAppName
 android.ddm.DdmHandleExit
 android.ddm.DdmHandleHeap
 android.ddm.DdmHandleHello
 android.ddm.DdmHandleNativeHeap
+android.ddm.DdmHandleProfiling
 android.ddm.DdmHandleThread
 android.ddm.DdmRegister
+android.debug.JNITest
+android.emoji.EmojiFactory
+android.graphics.AvoidXfermode
 android.graphics.Bitmap
+android.graphics.Bitmap$1
+android.graphics.Bitmap$CompressFormat
+android.graphics.Bitmap$Config
+android.graphics.BitmapFactory
+android.graphics.BitmapFactory$Options
 android.graphics.BitmapShader
+android.graphics.BlurMaskFilter
+android.graphics.Camera
 android.graphics.Canvas
 android.graphics.Canvas$EdgeType
 android.graphics.Color
+android.graphics.ColorFilter
+android.graphics.ColorMatrixColorFilter
+android.graphics.ComposePathEffect
+android.graphics.ComposeShader
+android.graphics.CornerPathEffect
+android.graphics.DashPathEffect
+android.graphics.DiscretePathEffect
+android.graphics.DrawFilter
+android.graphics.EmbossMaskFilter
 android.graphics.Interpolator
+android.graphics.LayerRasterizer
+android.graphics.LightingColorFilter
 android.graphics.LinearGradient
+android.graphics.MaskFilter
 android.graphics.Matrix
 android.graphics.Matrix$ScaleToFit
+android.graphics.Movie
 android.graphics.NinePatch
 android.graphics.Paint
+android.graphics.Paint$Align
+android.graphics.Paint$Cap
+android.graphics.Paint$FontMetrics
+android.graphics.Paint$FontMetricsInt
+android.graphics.Paint$Join
+android.graphics.Paint$Style
 android.graphics.PaintFlagsDrawFilter
 android.graphics.Path
 android.graphics.Path$Direction
+android.graphics.Path$FillType
+android.graphics.PathDashPathEffect
+android.graphics.PathEffect
+android.graphics.PathMeasure
 android.graphics.Picture
-android.graphics.PorterDuff
+android.graphics.PixelFormat
+android.graphics.PixelXorXfermode
+android.graphics.Point
+android.graphics.PointF
 android.graphics.PorterDuff$Mode
+android.graphics.PorterDuffColorFilter
 android.graphics.PorterDuffXfermode
+android.graphics.RadialGradient
+android.graphics.Rasterizer
 android.graphics.Rect
+android.graphics.Rect$1
 android.graphics.RectF
+android.graphics.RectF$1
 android.graphics.Region
+android.graphics.Region$1
 android.graphics.Region$Op
+android.graphics.RegionIterator
 android.graphics.Shader
 android.graphics.Shader$TileMode
+android.graphics.SumPathEffect
+android.graphics.SweepGradient
+android.graphics.TemporaryBuffer
 android.graphics.Typeface
 android.graphics.Xfermode
+android.graphics.drawable.Animatable
+android.graphics.drawable.AnimatedRotateDrawable
+android.graphics.drawable.AnimatedRotateDrawable$AnimatedRotateState
 android.graphics.drawable.AnimationDrawable
+android.graphics.drawable.AnimationDrawable$AnimationState
 android.graphics.drawable.BitmapDrawable
 android.graphics.drawable.BitmapDrawable$BitmapState
+android.graphics.drawable.ClipDrawable
+android.graphics.drawable.ClipDrawable$ClipState
 android.graphics.drawable.ColorDrawable
 android.graphics.drawable.ColorDrawable$ColorState
 android.graphics.drawable.Drawable
+android.graphics.drawable.Drawable$Callback
+android.graphics.drawable.Drawable$ConstantState
 android.graphics.drawable.DrawableContainer
+android.graphics.drawable.DrawableContainer$DrawableContainerState
 android.graphics.drawable.GradientDrawable
+android.graphics.drawable.GradientDrawable$1
+android.graphics.drawable.GradientDrawable$GradientState
+android.graphics.drawable.GradientDrawable$Orientation
 android.graphics.drawable.LayerDrawable
 android.graphics.drawable.LayerDrawable$ChildDrawable
 android.graphics.drawable.LayerDrawable$LayerState
 android.graphics.drawable.NinePatchDrawable
 android.graphics.drawable.NinePatchDrawable$NinePatchState
 android.graphics.drawable.PaintDrawable
-android.graphics.drawable.RotateDrawable
-android.graphics.drawable.RotateDrawable$RotateState
-android.graphics.drawable.ScaleDrawable
-android.graphics.drawable.ScaleDrawable$ScaleState
 android.graphics.drawable.ShapeDrawable
 android.graphics.drawable.ShapeDrawable$ShapeState
 android.graphics.drawable.StateListDrawable
 android.graphics.drawable.StateListDrawable$StateListState
 android.graphics.drawable.TransitionDrawable
 android.graphics.drawable.TransitionDrawable$TransitionState
+android.graphics.drawable.shapes.RectShape
 android.graphics.drawable.shapes.RoundRectShape
+android.graphics.drawable.shapes.Shape
+android.hardware.Camera
+android.hardware.ISensorService
+android.hardware.ISensorService$Stub
+android.hardware.ISensorService$Stub$Proxy
+android.hardware.Sensor
+android.hardware.SensorEvent
+android.hardware.SensorEventListener
+android.hardware.SensorListener
 android.hardware.SensorManager
+android.hardware.SensorManager$1
+android.hardware.SensorManager$LegacyListener
+android.hardware.SensorManager$ListenerDelegate
+android.hardware.SensorManager$ListenerDelegate$1
+android.hardware.SensorManager$LmsFilter
+android.hardware.SensorManager$SensorThread
+android.hardware.SensorManager$SensorThread$SensorThreadRunnable
+android.inputmethodservice.ExtractEditText
+android.inputmethodservice.InputMethodService
 android.inputmethodservice.KeyboardView
+android.location.Address
+android.location.Address$1
+android.location.Geocoder
+android.location.GpsSatellite
+android.location.GpsStatus
+android.location.GpsStatus$1
+android.location.ILocationListener
+android.location.ILocationListener$Stub
+android.location.ILocationManager
 android.location.ILocationManager$Stub
+android.location.ILocationManager$Stub$Proxy
+android.location.ILocationProvider
+android.location.ILocationProvider$Stub
 android.location.Location
+android.location.Location$1
+android.location.LocationListener
+android.location.LocationManager
+android.location.LocationManager$ListenerTransport
+android.location.LocationManager$ListenerTransport$1
+android.location.LocationProvider
+android.media.AmrInputStream
+android.media.AudioFormat
 android.media.AudioManager
+android.media.AudioRecord
+android.media.AudioSystem
+android.media.AudioTrack
+android.media.ExifInterface
+android.media.FaceDetector
+android.media.IAudioService
 android.media.IAudioService$Stub
 android.media.IAudioService$Stub$Proxy
+android.media.JetPlayer
+android.media.MediaMetadataRetriever
 android.media.MediaPlayer
+android.media.MediaPlayer$EventHandler
+android.media.MediaPlayer$OnBufferingUpdateListener
+android.media.MediaPlayer$OnCompletionListener
+android.media.MediaPlayer$OnErrorListener
+android.media.MediaPlayer$OnPreparedListener
+android.media.MediaRecorder
+android.media.MediaScanner
+android.media.ResampleInputStream
+android.media.RingtoneManager
+android.media.ToneGenerator
+android.net.ConnectivityManager
+android.net.Credentials
+android.net.DhcpInfo
+android.net.DhcpInfo$1
+android.net.IConnectivityManager
+android.net.IConnectivityManager$Stub
+android.net.IConnectivityManager$Stub$Proxy
+android.net.LocalServerSocket
 android.net.LocalSocket
-android.net.LocalSocketAddress
-android.net.LocalSocketAddress$Namespace
 android.net.LocalSocketImpl
 android.net.LocalSocketImpl$SocketInputStream
 android.net.LocalSocketImpl$SocketOutputStream
+android.net.NetworkConnectivityListener
+android.net.NetworkConnectivityListener$ConnectivityBroadcastReceiver
 android.net.NetworkConnectivityListener$State
 android.net.NetworkInfo
+android.net.NetworkInfo$1
 android.net.NetworkInfo$DetailedState
-android.net.SSLCertificateSocketFactory
+android.net.NetworkInfo$State
+android.net.NetworkUtils
 android.net.Uri
 android.net.Uri$1
 android.net.Uri$AbstractHierarchicalUri
 android.net.Uri$AbstractPart
+android.net.Uri$Builder
 android.net.Uri$HierarchicalUri
 android.net.Uri$OpaqueUri
 android.net.Uri$Part
 android.net.Uri$Part$EmptyPart
 android.net.Uri$PathPart
 android.net.Uri$PathSegments
+android.net.Uri$PathSegmentsBuilder
 android.net.Uri$StringUri
 android.net.WebAddress
 android.net.http.AndroidHttpClient
 android.net.http.AndroidHttpClient$1
 android.net.http.AndroidHttpClient$2
 android.net.http.AndroidHttpClient$CurlLogger
-android.net.http.DomainNameChecker
+android.net.http.AndroidHttpClient$LoggingConfiguration
 android.net.http.CertificateChainValidator
 android.net.http.EventHandler
+android.net.http.Headers
+android.net.http.Headers$HeaderCallback
 android.net.http.HttpsConnection
-android.net.http.RequestQueue
-android.net.http.SslError
+android.net.vpn.IVpnService$Stub
+android.net.vpn.VpnManager
+android.net.vpn.VpnType
+android.net.wifi.IWifiManager
 android.net.wifi.IWifiManager$Stub
-android.net.wifi.SupplicantState
-android.net.wifi.WifiConfiguration
-android.net.wifi.WifiInfo
-android.opengl.Material
+android.net.wifi.IWifiManager$Stub$Proxy
+android.net.wifi.WifiManager
+android.net.wifi.WifiNative
+android.opengl.GLES10
+android.opengl.GLES10Ext
+android.opengl.GLES11
+android.opengl.GLES11Ext
+android.opengl.GLUtils
+android.opengl.Matrix
+android.opengl.Visibility
+android.os.Base64Utils
 android.os.Binder
 android.os.BinderProxy
 android.os.Build
+android.os.Build$VERSION
 android.os.Bundle
 android.os.Bundle$1
+android.os.Debug
+android.os.Debug$MemoryInfo
 android.os.Environment
+android.os.Exec
+android.os.FileObserver$ObserverThread
 android.os.FileUtils
+android.os.FileUtils$FileStatus
 android.os.Handler
 android.os.HandlerThread
+android.os.Hardware
 android.os.IBinder
+android.os.IBinder$DeathRecipient
+android.os.ICheckinService
+android.os.ICheckinService$Stub
+android.os.ICheckinService$Stub$Proxy
+android.os.IHardwareService
 android.os.IHardwareService$Stub
 android.os.IHardwareService$Stub$Proxy
+android.os.IInterface
+android.os.IMessenger
+android.os.IPowerManager
 android.os.IPowerManager$Stub
 android.os.IPowerManager$Stub$Proxy
 android.os.IServiceManager
 android.os.Looper
+android.os.MemoryFile
 android.os.Message
 android.os.Message$1
 android.os.MessageQueue
 android.os.MessageQueue$IdleHandler
+android.os.NetStat
 android.os.Parcel
+android.os.Parcel$1
+android.os.ParcelFileDescriptor
+android.os.ParcelFileDescriptor$1
+android.os.ParcelFileDescriptor$AutoCloseInputStream
+android.os.Parcelable
+android.os.Parcelable$Creator
 android.os.PatternMatcher
 android.os.PatternMatcher$1
+android.os.Power
 android.os.PowerManager
 android.os.PowerManager$WakeLock
 android.os.PowerManager$WakeLock$1
 android.os.Process
+android.os.RemoteException
 android.os.ServiceManager
 android.os.ServiceManagerNative
 android.os.ServiceManagerProxy
+android.os.StatFs
+android.os.SystemClock
+android.os.SystemProperties
+android.os.UEventObserver
 android.os.Vibrator
+android.pim.EventRecurrence
 android.preference.CheckBoxPreference
 android.preference.DialogPreference
 android.preference.EditTextPreference
+android.preference.GenericInflater
+android.preference.GenericInflater$Parent
 android.preference.ListPreference
+android.preference.ListPreference$1
+android.preference.OnDependencyChangeListener
 android.preference.Preference
+android.preference.Preference$BaseSavedState
+android.preference.Preference$BaseSavedState$1
+android.preference.Preference$OnPreferenceChangeInternalListener
+android.preference.Preference$OnPreferenceChangeListener
+android.preference.Preference$OnPreferenceClickListener
 android.preference.PreferenceActivity
+android.preference.PreferenceActivity$1
+android.preference.PreferenceCategory
 android.preference.PreferenceGroup
 android.preference.PreferenceGroupAdapter
+android.preference.PreferenceGroupAdapter$1
+android.preference.PreferenceInflater
 android.preference.PreferenceManager
+android.preference.PreferenceManager$OnActivityDestroyListener
+android.preference.PreferenceManager$OnActivityResultListener
+android.preference.PreferenceManager$OnPreferenceTreeClickListener
 android.preference.PreferenceScreen
 android.preference.RingtonePreference
+android.provider.BaseColumns
+android.provider.Browser
+android.provider.Checkin
+android.provider.Checkin$Events$Tag
+android.provider.Checkin$Properties$Tag
+android.provider.Checkin$Stats
+android.provider.Checkin$Stats$Tag
+android.provider.Contacts$ContactMethods
+android.provider.Contacts$ContactMethodsColumns
+android.provider.Contacts$People
+android.provider.Contacts$PeopleColumns
+android.provider.Contacts$Phones
+android.provider.Contacts$PhonesColumns
+android.provider.Contacts$PresenceColumns
+android.provider.Downloads
+android.provider.Gmail
+android.provider.Gmail$LabelMap
+android.provider.Gmail$PersonalLevel
+android.provider.Gmail$Settings
+android.provider.Im$CommonPresenceColumns
+android.provider.Im$Provider
+android.provider.MediaStore$Audio$AudioColumns
+android.provider.MediaStore$Audio$Media
+android.provider.MediaStore$Images$Media
+android.provider.MediaStore$MediaColumns
+android.provider.SearchRecentSuggestions
+android.provider.Settings$Gservices
+android.provider.Settings$NameValueCache
+android.provider.Settings$NameValueTable
+android.provider.Settings$Secure
+android.provider.Settings$System
+android.provider.SubscribedFeeds$FeedColumns
+android.provider.SubscribedFeeds$Feeds
+android.provider.SyncConstValue
+android.provider.Telephony$Mms
+android.provider.Telephony$MmsSms
+android.provider.Telephony$MmsSms$PendingMessages
+android.provider.Telephony$Threads
+android.provider.UserDictionary$Words
+android.sax.Children
+android.sax.Children$Child
+android.sax.Element
+android.sax.EndTextElementListener
 android.sax.RootElement
+android.sax.RootElement$Handler
+android.sax.StartElementListener
+android.security.Keystore
+android.security.Keystore$FileKeystore
+android.security.Md5MessageDigest
+android.security.MessageDigest
+android.security.ServiceCommand
+android.security.Sha1MessageDigest
+android.server.BluetoothA2dpService
+android.server.BluetoothDeviceService
+android.server.BluetoothEventLoop
+android.server.data.BuildData
+android.server.data.CrashData
+android.server.data.StackTraceElementData
+android.server.data.ThrowableData
 android.server.search.SearchableInfo
 android.server.search.SearchableInfo$1
+android.speech.IRecognitionService$Stub
+android.speech.srec.Recognizer
+android.speech.tts.ITts$Stub
+android.speech.tts.ITts$Stub$Proxy
+android.speech.tts.TextToSpeech
+android.telephony.CellLocation
 android.telephony.PhoneNumberUtils
 android.telephony.PhoneStateListener
+android.telephony.PhoneStateListener$1
+android.telephony.PhoneStateListener$2
 android.telephony.ServiceState
+android.telephony.ServiceState$1
+android.telephony.SignalStrength
 android.telephony.TelephonyManager
-android.telephony.SmsManager
-android.telephony.SmsMessage
+android.telephony.gsm.GsmCellLocation
+android.text.AndroidCharacter
+android.text.Annotation
 android.text.AutoText
 android.text.BoringLayout
 android.text.BoringLayout$Metrics
@@ -312,7 +687,9 @@
 android.text.GetChars
 android.text.GraphicsOperations
 android.text.Html$HtmlParser
+android.text.IClipboard$Stub
 android.text.InputFilter
+android.text.InputType
 android.text.Layout
 android.text.Layout$Alignment
 android.text.Layout$Directions
@@ -340,25 +717,38 @@
 android.text.TextUtils$1
 android.text.TextUtils$EllipsizeCallback
 android.text.TextUtils$SimpleStringSplitter
+android.text.TextUtils$StringSplitter
 android.text.TextUtils$TruncateAt
 android.text.TextWatcher
+android.text.format.DateFormat
 android.text.format.DateUtils
+android.text.format.Formatter
 android.text.format.Time
 android.text.method.ArrowKeyMovementMethod
 android.text.method.BaseKeyListener
 android.text.method.KeyListener
 android.text.method.MetaKeyKeyListener
 android.text.method.MovementMethod
+android.text.method.NumberKeyListener
+android.text.method.PasswordTransformationMethod
+android.text.method.PasswordTransformationMethod$PasswordCharSequence
+android.text.method.PasswordTransformationMethod$ViewReference
+android.text.method.PasswordTransformationMethod$Visible
 android.text.method.QwertyKeyListener
+android.text.method.QwertyKeyListener$Replaced
 android.text.method.ReplacementTransformationMethod
+android.text.method.ReplacementTransformationMethod$ReplacementCharSequence
 android.text.method.ReplacementTransformationMethod$SpannedReplacementCharSequence
 android.text.method.SingleLineTransformationMethod
 android.text.method.TextKeyListener
 android.text.method.TextKeyListener$Capitalize
 android.text.method.TextKeyListener$SettingsObserver
+android.text.method.Touch
+android.text.method.Touch$DragState
 android.text.method.TransformationMethod
 android.text.style.AlignmentSpan
 android.text.style.CharacterStyle
+android.text.style.ClickableSpan
 android.text.style.ForegroundColorSpan
 android.text.style.LeadingMarginSpan
 android.text.style.LineBackgroundSpan
@@ -368,27 +758,60 @@
 android.text.style.ReplacementSpan
 android.text.style.StyleSpan
 android.text.style.URLSpan
+android.text.style.UnderlineSpan
 android.text.style.UpdateAppearance
 android.text.style.UpdateLayout
 android.text.style.WrapTogetherSpan
 android.text.util.Linkify
+android.text.util.Linkify$1
+android.text.util.Linkify$2
+android.text.util.Linkify$3
+android.text.util.Linkify$4
+android.text.util.Linkify$MatchFilter
+android.text.util.Linkify$TransformFilter
 android.text.util.Regex
+android.text.util.Rfc822Validator
+android.util.AndroidException
 android.util.AndroidRuntimeException
 android.util.AttributeSet
 android.util.DisplayMetrics
+android.util.EventLog
+android.util.EventLog$Event
+android.util.EventLog$List
+android.util.FinitePool
 android.util.FloatMath
+android.util.Log
+android.util.LongSparseArray
+android.util.Pool
+android.util.Poolable
+android.util.PoolableManager
+android.util.Pools
+android.util.Printer
 android.util.SparseArray
+android.util.SparseBooleanArray
+android.util.SparseIntArray
+android.util.StateSet
+android.util.SynchronizedPool
 android.util.TypedValue
-android.util.Xml$XmlSerializerFactory
+android.util.Xml
 android.view.AbsSavedState
+android.view.AbsSavedState$1
+android.view.AbsSavedState$2
 android.view.ContextMenu
 android.view.ContextMenu$ContextMenuInfo
 android.view.ContextThemeWrapper
 android.view.Display
+android.view.Display$CompatibleDisplay
 android.view.FocusFinder
 android.view.FocusFinder$1
+android.view.GestureDetector
+android.view.GestureDetector$GestureHandler
+android.view.GestureDetector$OnDoubleTapListener
+android.view.GestureDetector$OnGestureListener
 android.view.GestureDetector$SimpleOnGestureListener
 android.view.Gravity
+android.view.IRotationWatcher
+android.view.IRotationWatcher$Stub
 android.view.IWindow
 android.view.IWindow$Stub
 android.view.IWindowManager
@@ -398,44 +821,68 @@
 android.view.IWindowSession$Stub
 android.view.IWindowSession$Stub$Proxy
 android.view.KeyCharacterMap
+android.view.KeyCharacterMap$KeyData
 android.view.KeyEvent
 android.view.KeyEvent$1
 android.view.KeyEvent$Callback
 android.view.LayoutInflater
 android.view.LayoutInflater$Factory
+android.view.LayoutInflater$Filter
 android.view.Menu
 android.view.MenuInflater
+android.view.MenuInflater$MenuState
 android.view.MenuItem
 android.view.MotionEvent
 android.view.MotionEvent$1
 android.view.Surface
+android.view.Surface$1
+android.view.Surface$CompatibleCanvas
 android.view.SurfaceHolder
+android.view.SurfaceHolder$Callback
+android.view.SurfaceSession
 android.view.SurfaceView
+android.view.SurfaceView$1
+android.view.SurfaceView$2
+android.view.SurfaceView$MyWindow
 android.view.TouchDelegate
 android.view.VelocityTracker
+android.view.VelocityTracker$1
 android.view.View
 android.view.View$AttachInfo
 android.view.View$AttachInfo$Callbacks
 android.view.View$BaseSavedState
 android.view.View$BaseSavedState$1
+android.view.View$CheckForLongPress
 android.view.View$MeasureSpec
+android.view.View$OnClickListener
 android.view.View$OnCreateContextMenuListener
+android.view.View$OnFocusChangeListener
+android.view.View$OnKeyListener
+android.view.View$OnLongClickListener
+android.view.View$OnTouchListener
 android.view.View$ScrollabilityCache
+android.view.View$UnsetPressedState
 android.view.ViewConfiguration
 android.view.ViewGroup
 android.view.ViewGroup$LayoutParams
 android.view.ViewGroup$MarginLayoutParams
+android.view.ViewGroup$OnHierarchyChangeListener
 android.view.ViewManager
+android.view.ViewParent
 android.view.ViewRoot
 android.view.ViewRoot$1
 android.view.ViewRoot$InputMethodCallback
 android.view.ViewRoot$RunQueue
+android.view.ViewRoot$RunQueue$HandlerAction
 android.view.ViewRoot$TrackballAxis
 android.view.ViewRoot$W
-android.view.ViewStub
 android.view.ViewTreeObserver
 android.view.ViewTreeObserver$InternalInsetsInfo
+android.view.ViewTreeObserver$OnGlobalFocusChangeListener
+android.view.ViewTreeObserver$OnGlobalLayoutListener
 android.view.ViewTreeObserver$OnPreDrawListener
+android.view.ViewTreeObserver$OnScrollChangedListener
+android.view.ViewTreeObserver$OnTouchModeChangeListener
 android.view.Window
 android.view.Window$Callback
 android.view.Window$LocalWindowManager
@@ -444,50 +891,64 @@
 android.view.WindowManager$LayoutParams
 android.view.WindowManager$LayoutParams$1
 android.view.WindowManagerImpl
+android.view.accessibility.AccessibilityEvent
+android.view.accessibility.AccessibilityEvent$1
+android.view.accessibility.AccessibilityEventSource
+android.view.accessibility.AccessibilityManager
+android.view.accessibility.AccessibilityManager$1
+android.view.accessibility.AccessibilityManager$MyHandler
+android.view.accessibility.IAccessibilityManager
+android.view.accessibility.IAccessibilityManager$Stub
+android.view.accessibility.IAccessibilityManager$Stub$Proxy
+android.view.accessibility.IAccessibilityManagerClient
+android.view.accessibility.IAccessibilityManagerClient$Stub
 android.view.animation.AccelerateDecelerateInterpolator
+android.view.animation.AccelerateInterpolator
 android.view.animation.AlphaAnimation
 android.view.animation.Animation
+android.view.animation.Animation$AnimationListener
+android.view.animation.Animation$Description
 android.view.animation.AnimationSet
-android.view.animation.LinearInterpolator
+android.view.animation.AnimationUtils
+android.view.animation.Interpolator
+android.view.animation.LayoutAnimationController
+android.view.animation.ScaleAnimation
 android.view.animation.Transformation
+android.view.animation.TranslateAnimation
 android.view.inputmethod.BaseInputConnection
 android.view.inputmethod.CompletionInfo
 android.view.inputmethod.CompletionInfo$1
-
+android.view.inputmethod.ComposingText
 android.view.inputmethod.EditorInfo
 android.view.inputmethod.EditorInfo$1
-
 android.view.inputmethod.ExtractedText
 android.view.inputmethod.ExtractedText$1
-
 android.view.inputmethod.ExtractedTextRequest
 android.view.inputmethod.ExtractedTextRequest$1
-
-android.view.inputmethod.InputBinding
-android.view.inputmethod.InputBinding$1
 android.view.inputmethod.InputConnection
-android.view.inputmethod.InputMethod
-android.view.inputmethod.InputMethod$SessionCallback
-
-android.view.inputmethod.InputMethodInfo
-android.view.inputmethod.InputMethodInfo$1
+android.view.inputmethod.InputConnectionWrapper
 android.view.inputmethod.InputMethodManager
 android.view.inputmethod.InputMethodManager$1
-android.view.inputmethod.InputMethodManager$2
 android.view.inputmethod.InputMethodManager$ControlledInputConnectionWrapper
 android.view.inputmethod.InputMethodManager$H
-
-android.view.inputmethod.InputMethodSession
-android.view.inputmethod.InputMethodSession$EventCallback
 android.webkit.BrowserFrame
+android.webkit.ByteArrayBuilder
+android.webkit.ByteArrayBuilder$Chunk
 android.webkit.CacheManager
 android.webkit.CallbackProxy
 android.webkit.CookieManager
 android.webkit.CookieSyncManager
+android.webkit.DataLoader
+android.webkit.FrameLoader
+android.webkit.HttpAuthHandler
 android.webkit.HttpDateTime
 android.webkit.JWebCoreJavaBridge
 android.webkit.LoadListener
+android.webkit.LoadListener$1
 android.webkit.MimeTypeMap
+android.webkit.PerfChecker
+android.webkit.SslErrorHandler
+android.webkit.StreamLoader
 android.webkit.TextDialog
 android.webkit.URLUtil
 android.webkit.WebBackForwardList
@@ -495,20 +956,23 @@
 android.webkit.WebIconDatabase
 android.webkit.WebIconDatabase$EventHandler
 android.webkit.WebIconDatabase$EventHandler$1
-android.webkit.WebIconDatabase$EventHandler$IconResult
 android.webkit.WebSettings
 android.webkit.WebSettings$EventHandler
 android.webkit.WebSettings$EventHandler$1
 android.webkit.WebSettings$LayoutAlgorithm
 android.webkit.WebSettings$RenderPriority
 android.webkit.WebSettings$TextSize
+android.webkit.WebSettings$ZoomDensity
 android.webkit.WebSyncManager
 android.webkit.WebSyncManager$SyncHandler
 android.webkit.WebView
-android.webkit.WebView$ExtendedZoomControls
+android.webkit.WebView$1
+android.webkit.WebView$2
 android.webkit.WebView$FocusNode
+android.webkit.WebView$HitTestResult
 android.webkit.WebView$PrivateHandler
 android.webkit.WebViewCore
+android.webkit.WebViewCore$DrawData
 android.webkit.WebViewCore$EventHub
 android.webkit.WebViewCore$EventHub$1
 android.webkit.WebViewCore$FocusData
@@ -516,68 +980,142 @@
 android.webkit.WebViewCore$WebCoreThread$1
 android.webkit.WebViewDatabase
 android.widget.AbsListView
+android.widget.AbsListView$1
+android.widget.AbsListView$2
+android.widget.AbsListView$3
 android.widget.AbsListView$CheckForLongPress
 android.widget.AbsListView$CheckForTap
+android.widget.AbsListView$FlingRunnable
 android.widget.AbsListView$LayoutParams
+android.widget.AbsListView$OnScrollListener
 android.widget.AbsListView$PerformClick
 android.widget.AbsListView$RecycleBin
+android.widget.AbsListView$RecyclerListener
 android.widget.AbsListView$SavedState
 android.widget.AbsListView$SavedState$1
+android.widget.AbsListView$WindowRunnnable
 android.widget.AbsSeekBar
 android.widget.AbsSpinner
+android.widget.AbsSpinner$RecycleBin
+android.widget.AbsSpinner$SavedState
+android.widget.AbsSpinner$SavedState$1
 android.widget.AbsoluteLayout
-android.widget.AbsoluteLayout$LayoutParams
+android.widget.Adapter
 android.widget.AdapterView
 android.widget.AdapterView$AdapterDataSetObserver
+android.widget.AdapterView$OnItemClickListener
+android.widget.AdapterView$OnItemLongClickListener
+android.widget.AdapterView$OnItemSelectedListener
+android.widget.AnalogClock
+android.widget.AppSecurityPermissions
 android.widget.ArrayAdapter
 android.widget.AutoCompleteTextView
+android.widget.AutoCompleteTextView$1
+android.widget.AutoCompleteTextView$2
 android.widget.AutoCompleteTextView$DropDownItemClickListener
 android.widget.AutoCompleteTextView$DropDownListView
+android.widget.AutoCompleteTextView$ListSelectorHider
+android.widget.AutoCompleteTextView$MyWatcher
+android.widget.AutoCompleteTextView$PassThroughClickListener
+android.widget.AutoCompleteTextView$PopupTouchIntercepter
+android.widget.AutoCompleteTextView$Validator
 android.widget.BaseAdapter
 android.widget.Button
 android.widget.CheckBox
 android.widget.Checkable
 android.widget.CheckedTextView
+android.widget.Chronometer
 android.widget.CompoundButton
+android.widget.CompoundButton$OnCheckedChangeListener
+android.widget.CompoundButton$SavedState
+android.widget.CompoundButton$SavedState$1
 android.widget.CursorAdapter
 android.widget.CursorAdapter$ChangeObserver
 android.widget.CursorAdapter$MyDataSetObserver
+android.widget.CursorFilter
+android.widget.CursorFilter$CursorFilterClient
 android.widget.CursorTreeAdapter
+android.widget.DatePicker
 android.widget.EditText
+android.widget.ExpandableListConnector
 android.widget.ExpandableListView
+android.widget.FastScroller
+android.widget.Filter
+android.widget.Filter$FilterListener
+android.widget.Filter$FilterResults
+android.widget.Filter$RequestArguments
+android.widget.Filter$RequestHandler
+android.widget.Filter$ResultsHandler
+android.widget.FilterQueryProvider
+android.widget.Filterable
 android.widget.FrameLayout
 android.widget.FrameLayout$LayoutParams
 android.widget.Gallery
+android.widget.GridView
 android.widget.HeaderViewListAdapter
+android.widget.ImageButton
 android.widget.ImageView
 android.widget.ImageView$ScaleType
 android.widget.LinearLayout
 android.widget.LinearLayout$LayoutParams
+android.widget.ListAdapter
 android.widget.ListView
 android.widget.ListView$ArrowScrollFocusResult
+android.widget.ListView$FixedViewInfo
 android.widget.ListView$SavedState
 android.widget.ListView$SavedState$1
+android.widget.MediaController
+android.widget.MultiAutoCompleteTextView
 android.widget.PopupWindow
+android.widget.PopupWindow$1
+android.widget.PopupWindow$PopupViewContainer
 android.widget.ProgressBar
+android.widget.ProgressBar$SavedState
+android.widget.ProgressBar$SavedState$1
 android.widget.RadioGroup
 android.widget.RatingBar
 android.widget.RelativeLayout
+android.widget.RelativeLayout$DependencyGraph
+android.widget.RelativeLayout$DependencyGraph$Node
+android.widget.RelativeLayout$DependencyGraph$Node$1
 android.widget.RelativeLayout$LayoutParams
 android.widget.RemoteViews
+android.widget.RemoteViews$1
+android.widget.RemoteViews$Action
+android.widget.RemoteViews$ReflectionAction
+android.widget.RemoteViews$SetOnClickPendingIntent
+android.widget.ResourceCursorAdapter
 android.widget.ScrollBarDrawable
 android.widget.ScrollView
 android.widget.Scroller
 android.widget.SeekBar
+android.widget.SeekBar$OnSeekBarChangeListener
 android.widget.SimpleCursorAdapter
 android.widget.SlidingDrawer
 android.widget.Spinner
-android.widget.Spinner$DropDownAdapter
+android.widget.SpinnerAdapter
 android.widget.TabHost
+android.widget.TabHost$1
+android.widget.TabHost$2
+android.widget.TabHost$ContentStrategy
+android.widget.TabHost$IndicatorStrategy
+android.widget.TabHost$IntentContentStrategy
+android.widget.TabHost$LabelAndIconIndicatorStrategy
+android.widget.TabHost$OnTabChangeListener
+android.widget.TabHost$TabSpec
+android.widget.TabHost$ViewIndicatorStrategy
 android.widget.TabWidget
+android.widget.TabWidget$OnTabSelectionChanged
+android.widget.TabWidget$TabClickListener
 android.widget.TableLayout
+android.widget.TableLayout$LayoutParams
+android.widget.TableLayout$PassThroughHierarchyChangeListener
 android.widget.TableRow
+android.widget.TableRow$ChildrenTracker
+android.widget.TableRow$LayoutParams
 android.widget.TextView
-android.widget.TextView$1
+android.widget.TextView$2
+android.widget.TextView$3
 android.widget.TextView$Blink
 android.widget.TextView$BufferType
 android.widget.TextView$ChangeWatcher
@@ -585,33 +1123,61 @@
 android.widget.TextView$Drawables
 android.widget.TextView$InputContentType
 android.widget.TextView$InputMethodState
-android.widget.TextView$Marquee
-android.widget.TextView$MenuHandler
+android.widget.TextView$OnEditorActionListener
 android.widget.TextView$SavedState
 android.widget.TextView$SavedState$1
-android.widget.ToggleButton
-android.widget.TwoLineListItem
+android.widget.TimePicker
+android.widget.Toast
+android.widget.Toast$TN
+android.widget.Toast$TN$1
+android.widget.Toast$TN$2
+android.widget.VideoView
 android.widget.ViewAnimator
 android.widget.ViewSwitcher
+android.widget.WrapperListAdapter
 android.widget.ZoomButton
+android.widget.ZoomButton$1
+android.widget.ZoomButtonsController
+android.widget.ZoomButtonsController$1
+android.widget.ZoomButtonsController$2
+android.widget.ZoomButtonsController$3
+android.widget.ZoomButtonsController$4
+android.widget.ZoomButtonsController$Container
+android.widget.ZoomButtonsController$OnZoomListener
 android.widget.ZoomControls
-com.android.internal.database.ArrayListCursor
-com.android.internal.database.SortCursor
+com.android.internal.R$drawable
+com.android.internal.R$styleable
+com.android.internal.app.AlertActivity
+com.android.internal.app.AlertController
+com.android.internal.app.AlertController$1
+com.android.internal.app.AlertController$AlertParams
+com.android.internal.app.AlertController$AlertParams$3
+com.android.internal.app.AlertController$ButtonHandler
+com.android.internal.app.AlertController$RecycleListView
+com.android.internal.app.ChooserActivity
+com.android.internal.app.ResolverActivity
+com.android.internal.app.RingtonePickerActivity
+com.android.internal.appwidget.IAppWidgetService
 com.android.internal.appwidget.IAppWidgetService$Stub
-com.android.internal.http.multipart.FilePart
-com.android.internal.http.multipart.MultipartEntity
-com.android.internal.http.multipart.Part
-com.android.internal.http.multipart.PartSource
-com.android.internal.http.multipart.StringPart
+com.android.internal.appwidget.IAppWidgetService$Stub$Proxy
+com.android.internal.database.SortCursor
+com.android.internal.graphics.NativeUtils
+com.android.internal.location.DummyLocationProvider
+com.android.internal.location.GpsLocationProvider
 com.android.internal.logging.AndroidConfig
 com.android.internal.logging.AndroidHandler
+com.android.internal.logging.AndroidHandler$1
 com.android.internal.os.AndroidPrintStream
+com.android.internal.os.BinderInternal
 com.android.internal.os.BinderInternal$GcWatcher
 com.android.internal.os.LoggingPrintStream
 com.android.internal.os.LoggingPrintStream$1
 com.android.internal.os.RuntimeInit
 com.android.internal.os.RuntimeInit$1
 com.android.internal.os.RuntimeInit$UncaughtHandler
+com.android.internal.os.ZygoteConnection
+com.android.internal.os.ZygoteConnection$Arguments
+com.android.internal.os.ZygoteInit
 com.android.internal.os.ZygoteInit$MethodAndArgsCaller
 com.android.internal.policy.IPolicy
 com.android.internal.policy.PolicyManager
@@ -620,285 +1186,621 @@
 com.android.internal.policy.impl.PhoneWindow$1
 com.android.internal.policy.impl.PhoneWindow$ContextMenuCallback
 com.android.internal.policy.impl.PhoneWindow$DecorView
+com.android.internal.policy.impl.PhoneWindow$DrawableFeatureState
 com.android.internal.policy.impl.PhoneWindow$PanelFeatureState
 com.android.internal.policy.impl.PhoneWindow$PanelFeatureState$SavedState
 com.android.internal.policy.impl.PhoneWindow$PanelFeatureState$SavedState$1
+com.android.internal.policy.impl.PhoneWindowManager
 com.android.internal.policy.impl.Policy
-com.android.internal.telephony.Connection$DisconnectCause
-com.android.internal.telephony.Connection$PostDialState
-com.android.internal.telephony.IPhoneStateListener$Stub
-com.android.internal.telephony.ITelephony$Stub
-com.android.internal.telephony.Phone
-com.android.internal.telephony.Phone$DataActivityState
-com.android.internal.telephony.Phone$DataState
-com.android.internal.telephony.Phone$State
-com.android.internal.telephony.Phone$SuppService
-com.android.internal.telephony.PhoneBase
-com.android.internal.telephony.PhoneStateIntentReceiver
-com.android.internal.telephony.IccCard$State
 com.android.internal.telephony.BaseCommands
-com.android.internal.telephony.CallForwardInfo
-com.android.internal.telephony.CommandsInterface
-com.android.internal.telephony.DriverCall
-com.android.internal.telephony.DriverCall$State
-com.android.internal.telephony.gsm.GsmConnection
-com.android.internal.telephony.gsm.GSMPhone
+com.android.internal.telephony.Connection$DisconnectCause
 com.android.internal.telephony.GsmAlphabet
-com.android.internal.telephony.gsm.GsmMmiCode
-com.android.internal.telephony.gsm.SimCard
-com.android.internal.telephony.ISms$Stub
+com.android.internal.telephony.IPhoneStateListener
+com.android.internal.telephony.IPhoneStateListener$Stub
+com.android.internal.telephony.IPhoneSubInfo
+com.android.internal.telephony.IPhoneSubInfo$Stub
+com.android.internal.telephony.IPhoneSubInfo$Stub$Proxy
+com.android.internal.telephony.ITelephony
+com.android.internal.telephony.ITelephony$Stub
+com.android.internal.telephony.ITelephony$Stub$Proxy
+com.android.internal.telephony.ITelephonyRegistry
+com.android.internal.telephony.ITelephonyRegistry$Stub
+com.android.internal.telephony.ITelephonyRegistry$Stub$Proxy
+com.android.internal.telephony.IccCardApplication$PersoSubState
+com.android.internal.telephony.IccProvider
+com.android.internal.telephony.Phone$State
+com.android.internal.telephony.PhoneBase
+com.android.internal.telephony.PhoneProxy
+com.android.internal.telephony.PhoneStateIntentReceiver
 com.android.internal.telephony.RIL
-com.android.internal.telephony.ServiceStateTracker
-
-com.android.internal.telephony.gsm.stk.ComprehensionTlvTag
+com.android.internal.telephony.SmsMessageBase
+com.android.internal.telephony.gsm.GSMPhone
+com.android.internal.telephony.gsm.GsmDataConnectionTracker
+com.android.internal.telephony.gsm.GsmMmiCode
+com.android.internal.telephony.gsm.MccTable
+com.android.internal.telephony.gsm.SmsMessage
+com.android.internal.telephony.gsm.stk.CommandDetails
 com.android.internal.telephony.gsm.stk.ResultCode
+com.android.internal.util.ArrayUtils
 com.android.internal.util.FastXmlSerializer
+com.android.internal.util.XmlUtils
 com.android.internal.view.IInputConnectionWrapper
 com.android.internal.view.IInputConnectionWrapper$MyHandler
 com.android.internal.view.IInputConnectionWrapper$SomeArgs
-
 com.android.internal.view.IInputContext
 com.android.internal.view.IInputContext$Stub
-com.android.internal.view.IInputContext$Stub$Proxy
-
 com.android.internal.view.IInputContextCallback
 com.android.internal.view.IInputContextCallback$Stub
 com.android.internal.view.IInputContextCallback$Stub$Proxy
-
-com.android.internal.view.IInputMethod
-com.android.internal.view.IInputMethod$Stub
-com.android.internal.view.IInputMethod$Stub$Proxy
-
 com.android.internal.view.IInputMethodCallback
 com.android.internal.view.IInputMethodCallback$Stub
-com.android.internal.view.IInputMethodCallback$Stub$Proxy
-
 com.android.internal.view.IInputMethodClient
 com.android.internal.view.IInputMethodClient$Stub
-com.android.internal.view.IInputMethodClient$Stub$Proxy
-
 com.android.internal.view.IInputMethodManager
 com.android.internal.view.IInputMethodManager$Stub
 com.android.internal.view.IInputMethodManager$Stub$Proxy
-
 com.android.internal.view.IInputMethodSession
 com.android.internal.view.IInputMethodSession$Stub
 com.android.internal.view.IInputMethodSession$Stub$Proxy
-
 com.android.internal.view.InputBindResult
 com.android.internal.view.InputBindResult$1
-
-com.android.internal.view.InputConnectionWrapper
-com.android.internal.view.InputConnectionWrapper$InputContextCallback
 com.android.internal.view.menu.ExpandedMenuView
 com.android.internal.view.menu.IconMenuItemView
 com.android.internal.view.menu.IconMenuView
+com.android.internal.view.menu.IconMenuView$1
+com.android.internal.view.menu.IconMenuView$LayoutParams
+com.android.internal.view.menu.IconMenuView$SavedState
+com.android.internal.view.menu.IconMenuView$SavedState$1
 com.android.internal.view.menu.ListMenuItemView
 com.android.internal.view.menu.MenuBuilder
 com.android.internal.view.menu.MenuBuilder$Callback
-com.android.internal.view.menu.MenuDialogHelper
+com.android.internal.view.menu.MenuBuilder$ItemInvoker
+com.android.internal.view.menu.MenuBuilder$MenuAdapter
+com.android.internal.view.menu.MenuBuilder$MenuType
 com.android.internal.view.menu.MenuItemImpl
+com.android.internal.view.menu.MenuView
+com.android.internal.view.menu.MenuView$ItemView
 com.android.internal.view.menu.SubMenuBuilder
-com.android.internal.widget.LinearLayoutWithDefaultTouchRecepient
-com.android.internal.widget.LockPatternView
+com.android.internal.widget.DialogTitle
+com.android.internal.widget.EditableInputConnection
+com.android.internal.widget.LockPatternUtils
 com.android.internal.widget.NumberPicker
-com.android.internal.widget.NumberPickerButton
+com.google.android.collect.Lists
+com.google.android.collect.Maps
+com.google.android.collect.Sets
 com.google.android.gdata.client.AndroidGDataClient
-com.google.android.gdata.client.AndroidGDataClient$PostRequestCreator
 com.google.android.gles_jni.EGLImpl
 com.google.android.gles_jni.GLImpl
-com.google.android.mms.ContentType
-com.google.android.mms.pdu.CharacterSets
-com.google.android.mms.pdu.PduPart
 com.google.android.mms.pdu.PduPersister
+com.google.android.mms.util.PduCache
 com.google.android.net.GoogleHttpClient
+com.google.android.net.GoogleHttpClient$WrappedLayeredSocketFactory
+com.google.android.net.GoogleHttpClient$WrappedSocketFactory
+com.google.android.net.NetworkStatsEntity
+com.google.android.net.SSLClientSessionCacheFactory
 com.google.android.net.UrlRules
 com.google.android.net.UrlRules$Rule
-com.google.android.util.SimplePullParser
+com.google.common.Clock
 com.google.common.Config
+com.google.common.GenericClock
+com.google.common.I18n
+com.google.common.Log
+com.google.common.StaticUtil
+com.google.common.android.AndroidClock
+com.google.common.android.AndroidConfig
+com.google.common.android.AndroidConfig$1
+com.google.common.graphics.FontFactory
+com.google.common.graphics.ImageFactory
+com.google.common.graphics.InterpolatedFontFactory
+com.google.common.graphics.android.AndroidFontFactory
+com.google.common.graphics.android.AndroidImageFactory
+com.google.common.io.BaseConnectionFactory
+com.google.common.io.BaseHttpConnectionFactory
+com.google.common.io.BasePersistentStore
+com.google.common.io.BaseTcpConnectionFactory
+com.google.common.io.ConnectionFactory
+com.google.common.io.GoogleHttpConnection
+com.google.common.io.Gunzipper
+com.google.common.io.Gunzipper$GunzipInterface
+com.google.common.io.HttpConnectionFactory
+com.google.common.io.InMemoryPersistentStore
+com.google.common.io.PersistentStore
+com.google.common.io.PersistentStore$PersistentStoreException
+com.google.common.io.PreferenceStore
+com.google.common.io.TcpConnectionFactory
+com.google.common.io.android.AndroidFixedPersistentStore
+com.google.common.io.android.AndroidHttpClient
+com.google.common.io.android.AndroidHttpClient$1
+com.google.common.io.android.AndroidHttpClient$2
+com.google.common.io.android.AndroidHttpClient$CurlLogger
+com.google.common.io.android.AndroidHttpClient$LoggingConfiguration
+com.google.common.io.android.AndroidHttpConnectionFactory
+com.google.common.io.android.AndroidHttpConnectionFactory$1
+com.google.common.io.android.AndroidHttpConnectionFactory$AndroidGoogleHttpConnection
+com.google.common.io.android.AndroidPersistentStore
+com.google.common.io.android.AndroidTcpConnectionFactory
+com.google.common.io.android.CountingByteChannel$Counter
+com.google.common.io.android.GoogleHttpClient
+com.google.common.io.android.J2SeTcpConnectionFactory
 com.google.common.io.protocol.ProtoBuf
 com.google.common.io.protocol.ProtoBufType
 com.google.common.util.text.TextUtil
+com.google.debug.DebugUtil
+com.google.masf.MobileServiceMux
+com.google.masf.services.LogserviceMessageTypes
+com.google.masf.services.resume.WindowResumeService
+com.google.wireless.gdata.calendar.client.CalendarClient
+com.google.wireless.gdata.contacts.client.ContactsClient
 com.ibm.icu4jni.charset.CharsetDecoderICU
 com.ibm.icu4jni.charset.CharsetEncoderICU
 com.ibm.icu4jni.charset.CharsetICU
+com.ibm.icu4jni.charset.CharsetProviderICU
+com.ibm.icu4jni.charset.NativeConverter
+com.ibm.icu4jni.common.ErrorCode
+com.ibm.icu4jni.lang.UCharacter
+com.ibm.icu4jni.regex.NativeRegEx
 com.ibm.icu4jni.text.CollationAttribute
+com.ibm.icu4jni.text.Collator
 com.ibm.icu4jni.text.DecimalFormat
 com.ibm.icu4jni.text.DecimalFormatSymbols
+com.ibm.icu4jni.text.DecimalFormatSymbols$1
+com.ibm.icu4jni.text.NativeBreakIterator
+com.ibm.icu4jni.text.NativeCollation
+com.ibm.icu4jni.text.NativeDecimalFormat
 com.ibm.icu4jni.text.NativeDecimalFormat$UNumberFormatAttribute
 com.ibm.icu4jni.text.NativeDecimalFormat$UNumberFormatSymbol
 com.ibm.icu4jni.text.RuleBasedCollator
+com.ibm.icu4jni.text.RuleBasedNumberFormat
+com.ibm.icu4jni.util.Resources
+com.ibm.icu4jni.util.Resources$ISO4Currencies
+com.ibm.icu4jni.util.Resources$ISO4CurrenciesToDigits
+com.ibm.icu4jni.util.Resources$Locale
 dalvik.system.DexFile
+dalvik.system.NativeStart
 dalvik.system.PathClassLoader
+dalvik.system.TouchDex
+dalvik.system.VMDebug
+dalvik.system.VMRuntime
+dalvik.system.VMStack
+dalvik.system.Zygote
 java.beans.PropertyChangeEvent
 java.beans.PropertyChangeListener
 java.beans.PropertyChangeSupport
 java.io.BufferedInputStream
+java.io.BufferedOutputStream
+java.io.BufferedReader
 java.io.ByteArrayInputStream
 java.io.ByteArrayOutputStream
+java.io.Closeable
+java.io.DataInput
+java.io.DataInputStream
+java.io.DataOutput
+java.io.DataOutputStream
+java.io.Externalizable
 java.io.File
 java.io.FileDescriptor
 java.io.FileInputStream
 java.io.FileInputStream$RepositioningLock
 java.io.FileNotFoundException
+java.io.FileOutputStream
 java.io.FilterInputStream
+java.io.FilterOutputStream
+java.io.Flushable
 java.io.IOException
+java.io.InputStream
+java.io.InputStreamReader
+java.io.InterruptedIOException
+java.io.ObjectInput
+java.io.ObjectInputStream
+java.io.ObjectOutput
+java.io.ObjectOutputStream
 java.io.ObjectStreamClass
+java.io.ObjectStreamConstants
+java.io.ObjectStreamException
+java.io.ObjectStreamField
+java.io.ObjectStreamField$1
+java.io.OutputStream
+java.io.PrintStream
 java.io.PrintWriter
 java.io.RandomAccessFile
 java.io.RandomAccessFile$RepositionLock
+java.io.Reader
+java.io.Serializable
+java.io.StreamCorruptedException
+java.io.StringReader
 java.io.StringWriter
+java.io.UnsupportedEncodingException
 java.io.Writer
+java.lang.AbstractStringBuilder
+java.lang.Appendable
+java.lang.ArrayIndexOutOfBoundsException
+java.lang.Boolean
+java.lang.BootClassLoader
+java.lang.Byte
+java.lang.CharSequence
+java.lang.Character
 java.lang.Character$valueOfCache
 java.lang.Class
 java.lang.ClassCache
+java.lang.ClassCache$EnumComparator
+java.lang.ClassCastException
+java.lang.ClassLoader
+java.lang.ClassLoader$SystemClassLoader
 java.lang.ClassNotFoundException
+java.lang.CloneNotSupportedException
+java.lang.Cloneable
+java.lang.Comparable
+java.lang.Double
+java.lang.Enum
+java.lang.Error
+java.lang.Exception
+java.lang.ExceptionInInitializerError
+java.lang.Float
 java.lang.IllegalArgumentException
 java.lang.IllegalStateException
+java.lang.IncompatibleClassChangeError
+java.lang.IndexOutOfBoundsException
 java.lang.Integer
 java.lang.Integer$valueOfCache
+java.lang.InternalError
+java.lang.InterruptedException
+java.lang.Iterable
+java.lang.LangAccessImpl
 java.lang.LinkageError
 java.lang.Long
 java.lang.Long$valueOfCache
+java.lang.Math
 java.lang.NoClassDefFoundError
+java.lang.NoSuchFieldException
+java.lang.NoSuchMethodException
+java.lang.NullPointerException
+java.lang.Number
 java.lang.NumberFormatException
 java.lang.Object
+java.lang.OutOfMemoryError
+java.lang.Readable
+java.lang.Runnable
 java.lang.Runtime
 java.lang.RuntimeException
+java.lang.RuntimePermission
+java.lang.SecurityException
+java.lang.Short
 java.lang.Short$valueOfCache
+java.lang.StackOverflowError
+java.lang.StackTraceElement
+java.lang.StrictMath
 java.lang.String
+java.lang.String$CaseInsensitiveComparator
 java.lang.StringBuffer
 java.lang.StringBuilder
+java.lang.System
+java.lang.SystemProperties
 java.lang.Thread
+java.lang.Thread$State
+java.lang.Thread$UncaughtExceptionHandler
+java.lang.ThreadGroup
+java.lang.ThreadGroup$ChildrenGroupsLock
+java.lang.ThreadGroup$ChildrenThreadsLock
 java.lang.ThreadLocal
 java.lang.ThreadLocal$Values
 java.lang.Throwable
+java.lang.UnsatisfiedLinkError
+java.lang.UnsupportedOperationException
+java.lang.VMClassLoader
 java.lang.VMThread
+java.lang.VirtualMachineError
+java.lang.Void
+java.lang.annotation.Annotation
+java.lang.ref.Reference
 java.lang.ref.ReferenceQueue
 java.lang.ref.SoftReference
 java.lang.ref.WeakReference
+java.lang.reflect.AccessibleObject
+java.lang.reflect.AnnotatedElement
+java.lang.reflect.Array
 java.lang.reflect.Constructor
+java.lang.reflect.Field
+java.lang.reflect.GenericDeclaration
+java.lang.reflect.InvocationHandler
+java.lang.reflect.Member
 java.lang.reflect.Method
 java.lang.reflect.Modifier
+java.lang.reflect.Proxy
+java.lang.reflect.ReflectionAccessImpl
+java.lang.reflect.Type
 java.math.BigDecimal
 java.math.BigInt
+java.math.BigInt$Context
 java.math.BigInteger
 java.math.Multiplication
 java.net.ContentHandler
+java.net.DatagramPacket
+java.net.HttpURLConnection
+java.net.Inet4Address
+java.net.Inet6Address
 java.net.InetAddress
+java.net.InetAddress$Cache
 java.net.InetAddress$CacheElement
 java.net.InetAddress$WaitReachable
+java.net.InetSocketAddress
 java.net.JarURLConnection
 java.net.NegativeCache
 java.net.NetPermission
+java.net.NetworkInterface
+java.net.Proxy
+java.net.Proxy$Type
+java.net.ProxySelector
 java.net.ProxySelectorImpl
+java.net.ProxySelectorImpl$1
+java.net.ResponseCache
+java.net.ServerSocket
+java.net.Socket
 java.net.Socket$ConnectLock
+java.net.SocketAddress
+java.net.SocketImpl
+java.net.SocketOptions
+java.net.SocketTimeoutException
 java.net.URI
+java.net.URI$Helper
+java.net.URIEncoderDecoder
+java.net.URISyntaxException
 java.net.URL
 java.net.URLConnection
 java.net.URLConnection$DefaultContentHandler
+java.net.URLEncoder
 java.net.URLStreamHandler
+java.nio.BaseByteBuffer
+java.nio.Buffer
+java.nio.BufferFactory
+java.nio.ByteBuffer
 java.nio.ByteOrder
+java.nio.CharArrayBuffer
+java.nio.CharBuffer
 java.nio.CharSequenceAdapter
 java.nio.DirectByteBuffer
+java.nio.HeapByteBuffer
+java.nio.IntToByteBufferAdapter
+java.nio.NIOAccess
+java.nio.ReadWriteCharArrayBuffer
 java.nio.ReadWriteDirectByteBuffer
-java.nio.ReadWriteIntArrayBuffer
-java.nio.ReadWriteShortArrayBuffer
-java.nio.ShortBuffer
-java.nio.ShortToByteBufferAdapter
+java.nio.ReadWriteHeapByteBuffer
+java.nio.channels.ByteChannel
+java.nio.channels.Channel
+java.nio.channels.FileChannel
+java.nio.channels.GatheringByteChannel
+java.nio.channels.InterruptibleChannel
+java.nio.channels.ReadableByteChannel
+java.nio.channels.ScatteringByteChannel
+java.nio.channels.WritableByteChannel
+java.nio.channels.spi.AbstractInterruptibleChannel
+java.nio.channels.spi.AbstractInterruptibleChannel$1
+java.nio.charset.Charset
+java.nio.charset.Charset$1
+java.nio.charset.CharsetDecoder
 java.nio.charset.CharsetEncoder
+java.nio.charset.CoderResult
+java.nio.charset.CodingErrorAction
+java.nio.charset.spi.CharsetProvider
 java.security.AccessControlContext
+java.security.AccessController
+java.security.BasicPermission
 java.security.GeneralSecurityException
+java.security.Guard
+java.security.Key
+java.security.KeyFactory
+java.security.KeyFactorySpi
 java.security.KeyStore
+java.security.KeyStore$1
+java.security.KeyStoreSpi
 java.security.MessageDigest
+java.security.MessageDigestSpi
+java.security.Permission
+java.security.Principal
+java.security.PrivilegedAction
+java.security.PrivilegedExceptionAction
 java.security.ProtectionDomain
 java.security.Provider
+java.security.Provider$Service
+java.security.Provider$Service$1
+java.security.PublicKey
 java.security.SecureRandom
+java.security.SecureRandomSpi
 java.security.Security
+java.security.Security$1
+java.security.Security$SecurityDoor
+java.security.cert.CertPath
+java.security.cert.CertPathParameters
 java.security.cert.CertPathValidator
+java.security.cert.CertPathValidatorResult
+java.security.cert.CertPathValidatorSpi
+java.security.cert.CertSelector
+java.security.cert.Certificate
 java.security.cert.CertificateFactory
+java.security.cert.CertificateFactorySpi
+java.security.cert.PKIXCertPathValidatorResult
 java.security.cert.PKIXParameters
+java.security.cert.PolicyNode
 java.security.cert.TrustAnchor
 java.security.cert.X509CertSelector
 java.security.cert.X509Certificate
+java.security.cert.X509Extension
+java.security.interfaces.RSAKey
+java.security.interfaces.RSAPublicKey
+java.security.spec.EncodedKeySpec
+java.security.spec.KeySpec
+java.security.spec.X509EncodedKeySpec
+java.text.AttributedCharacterIterator$Attribute
 java.text.Collator
 java.text.DateFormat
 java.text.DateFormat$Field
+java.text.DateFormatSymbols
 java.text.DecimalFormat
+java.text.DecimalFormat$2
 java.text.DecimalFormatSymbols
-java.text.MessageFormat
+java.text.FieldPosition
+java.text.Format
+java.text.Format$1
+java.text.Format$Field
 java.text.NumberFormat
 java.text.RuleBasedCollator
 java.text.SimpleDateFormat
+java.util.AbstractCollection
+java.util.AbstractList
 java.util.AbstractList$FullListIterator
 java.util.AbstractList$SimpleListIterator
+java.util.AbstractMap
+java.util.AbstractQueue
+java.util.AbstractSequentialList
+java.util.AbstractSet
 java.util.ArrayList
 java.util.Arrays
 java.util.Arrays$ArrayList
 java.util.Calendar
+java.util.Collection
+java.util.Collections
+java.util.Collections$EmptyList
+java.util.Collections$EmptyMap
+java.util.Collections$EmptySet
 java.util.Collections$SynchronizedCollection
+java.util.Collections$SynchronizedSet
+java.util.Collections$UnmodifiableCollection
+java.util.Collections$UnmodifiableCollection$1
 java.util.Collections$UnmodifiableList
 java.util.Collections$UnmodifiableMap
+java.util.Collections$UnmodifiableMap$UnmodifiableEntrySet
 java.util.Collections$UnmodifiableMap$UnmodifiableEntrySet$1
+java.util.Collections$UnmodifiableRandomAccessList
+java.util.Collections$UnmodifiableSet
+java.util.ComparableTimSort
+java.util.Comparator
+java.util.Currency
 java.util.Date
+java.util.Dictionary
 java.util.EnumMap
+java.util.EnumSet
+java.util.Enumeration
 java.util.EventListener
 java.util.EventObject
+java.util.Formattable
 java.util.Formatter
+java.util.Formatter$FloatUtil
+java.util.Formatter$FormatToken
+java.util.Formatter$ParserStateMachine
+java.util.Formatter$Transformer
 java.util.GregorianCalendar
 java.util.HashMap
 java.util.HashMap$1
+java.util.HashMap$1$1
 java.util.HashMap$2
 java.util.HashMap$2$1
 java.util.HashMap$Entry
 java.util.HashMap$HashMapEntrySet
 java.util.HashMap$HashMapEntrySet$1
+java.util.HashMap$HashMapIterator
 java.util.HashSet
 java.util.Hashtable
+java.util.Hashtable$1
+java.util.Hashtable$2
+java.util.Hashtable$2$1
 java.util.Hashtable$4
 java.util.Hashtable$4$1
 java.util.Hashtable$Entry
 java.util.Hashtable$HashEnumerator
 java.util.Hashtable$HashIterator
 java.util.IdentityHashMap
+java.util.Iterator
 java.util.LinkedHashMap
+java.util.LinkedHashMap$1
+java.util.LinkedHashMap$1$1
+java.util.LinkedHashMap$LinkedHashIterator
 java.util.LinkedHashMap$LinkedHashMapEntry
+java.util.LinkedHashMap$LinkedHashMapEntrySet
+java.util.LinkedHashMap$LinkedHashMapEntrySet$1
 java.util.LinkedList
 java.util.LinkedList$Link
+java.util.LinkedList$LinkIterator
 java.util.List
+java.util.ListIterator
+java.util.ListResourceBundle
 java.util.Locale
+java.util.Locale$1
+java.util.Map
+java.util.Map$Entry
+java.util.MapEntry
+java.util.MapEntry$Type
+java.util.Observable
+java.util.Observer
+java.util.PriorityQueue
 java.util.Properties
+java.util.PropertyPermission
+java.util.PropertyResourceBundle
+java.util.Queue
 java.util.Random
+java.util.RandomAccess
 java.util.ResourceBundle
+java.util.ResourceBundle$1
+java.util.ResourceBundle$MissingBundle
+java.util.Scanner
+java.util.Set
 java.util.SimpleTimeZone
+java.util.SortedMap
+java.util.SortedSet
+java.util.Stack
+java.util.StringTokenizer
+java.util.TimSort
 java.util.TimeZone
+java.util.Timer
 java.util.TreeMap
+java.util.TreeMap$2
+java.util.TreeMap$AbstractMapIterator
 java.util.TreeMap$Entry
+java.util.TreeMap$UnboundedKeyIterator
 java.util.TreeSet
 java.util.Vector
 java.util.WeakHashMap
+java.util.WeakHashMap$1
+java.util.WeakHashMap$1$1
+java.util.WeakHashMap$2
+java.util.WeakHashMap$2$1
 java.util.WeakHashMap$Entry
+java.util.WeakHashMap$Entry$Type
+java.util.WeakHashMap$HashIterator
+java.util.concurrent.AbstractExecutorService
+java.util.concurrent.BlockingQueue
+java.util.concurrent.Callable
 java.util.concurrent.ConcurrentHashMap
-java.util.concurrent.ConcurrentLinkedQueue
-java.util.concurrent.DelayQueue
+java.util.concurrent.CopyOnWriteArrayList
+java.util.concurrent.CopyOnWriteArrayList$ListIteratorImpl
+java.util.concurrent.Executor
+java.util.concurrent.ExecutorService
+java.util.concurrent.Executors
+java.util.concurrent.Executors$DefaultThreadFactory
+java.util.concurrent.Future
+java.util.concurrent.FutureTask
+java.util.concurrent.FutureTask$Sync
 java.util.concurrent.LinkedBlockingQueue
+java.util.concurrent.LinkedBlockingQueue$Node
+java.util.concurrent.RejectedExecutionHandler
 java.util.concurrent.ScheduledThreadPoolExecutor
-java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue
+java.util.concurrent.SynchronousQueue
+java.util.concurrent.ThreadFactory
+java.util.concurrent.ThreadPoolExecutor
+java.util.concurrent.ThreadPoolExecutor$AbortPolicy
+java.util.concurrent.ThreadPoolExecutor$Worker
 java.util.concurrent.TimeUnit
-java.util.concurrent.atomic.AtomicBoolean
 java.util.concurrent.atomic.AtomicInteger
+java.util.concurrent.atomic.AtomicLong
 java.util.concurrent.atomic.UnsafeAccess
 java.util.concurrent.locks.AbstractQueuedSynchronizer
 java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject
 java.util.concurrent.locks.AbstractQueuedSynchronizer$Node
+java.util.concurrent.locks.Condition
 java.util.concurrent.locks.Lock
 java.util.concurrent.locks.LockSupport
 java.util.concurrent.locks.ReentrantLock
 java.util.concurrent.locks.ReentrantLock$FairSync
 java.util.concurrent.locks.ReentrantLock$NonfairSync
 java.util.concurrent.locks.ReentrantLock$Sync
-java.util.concurrent.locks.ReentrantReadWriteLock
-java.util.concurrent.locks.ReentrantReadWriteLock$NonfairSync
 java.util.concurrent.locks.UnsafeAccess
 java.util.jar.Attributes
 java.util.jar.Attributes$Name
@@ -921,10 +1823,16 @@
 java.util.logging.LogRecord
 java.util.logging.Logger
 java.util.logging.LoggingPermission
-java.util.logging.SimpleFormatter
+java.util.regex.MatchResult
 java.util.regex.Matcher
 java.util.regex.Pattern
+java.util.zip.Adler32
+java.util.zip.CRC32
+java.util.zip.Checksum
+java.util.zip.Deflater
 java.util.zip.DeflaterOutputStream
+java.util.zip.GZIPInputStream
+java.util.zip.GZIPOutputStream
 java.util.zip.Inflater
 java.util.zip.InflaterInputStream
 java.util.zip.ZipConstants
@@ -933,25 +1841,74 @@
 java.util.zip.ZipFile
 java.util.zip.ZipFile$2
 java.util.zip.ZipFile$RAFStream
-javax.microedition.khronos.egl.EGLContext
+javax.microedition.khronos.egl.EGL
+javax.microedition.khronos.egl.EGL10
+javax.microedition.khronos.opengles.GL
+javax.microedition.khronos.opengles.GL10
+javax.microedition.khronos.opengles.GL10Ext
+javax.microedition.khronos.opengles.GL11
+javax.microedition.khronos.opengles.GL11Ext
+javax.microedition.khronos.opengles.GL11ExtensionPack
+javax.net.SocketFactory
+javax.net.ssl.DefaultHostnameVerifier
+javax.net.ssl.HostnameVerifier
 javax.net.ssl.HttpsURLConnection
-javax.net.ssl.SSLHandshakeException
+javax.net.ssl.KeyManager
+javax.net.ssl.KeyManagerFactory
+javax.net.ssl.KeyManagerFactory$1
+javax.net.ssl.KeyManagerFactorySpi
+javax.net.ssl.SSLContextSpi
+javax.net.ssl.SSLServerSocket
+javax.net.ssl.SSLSession
+javax.net.ssl.SSLSessionContext
+javax.net.ssl.SSLSocket
+javax.net.ssl.SSLSocketFactory
+javax.net.ssl.SSLSocketFactory$1
+javax.net.ssl.TrustManager
+javax.net.ssl.TrustManagerFactory
+javax.net.ssl.TrustManagerFactory$1
+javax.net.ssl.TrustManagerFactorySpi
+javax.net.ssl.X509ExtendedKeyManager
+javax.net.ssl.X509KeyManager
+javax.net.ssl.X509TrustManager
 javax.security.auth.x500.X500Principal
+javax.security.cert.Certificate
 javax.security.cert.X509Certificate
+javax.security.cert.X509Certificate$1
 javax.security.cert.X509Certificate$2
+javax.xml.parsers.DocumentBuilder
+javax.xml.parsers.DocumentBuilderFactory
 junit.framework.Assert
+org.apache.commons.codec.BinaryDecoder
+org.apache.commons.codec.BinaryEncoder
+org.apache.commons.codec.Decoder
+org.apache.commons.codec.Encoder
 org.apache.commons.codec.binary.Base64
 org.apache.commons.codec.binary.Hex
+org.apache.commons.logging.Log
 org.apache.commons.logging.LogFactory
 org.apache.commons.logging.impl.Jdk14Logger
+org.apache.commons.logging.impl.WeakHashtable
 org.apache.harmony.archive.util.Util
+org.apache.harmony.dalvik.NativeTestTarget
 org.apache.harmony.dalvik.ddmc.Chunk
 org.apache.harmony.dalvik.ddmc.ChunkHandler
 org.apache.harmony.dalvik.ddmc.DdmServer
-org.apache.harmony.dalvik.ddmc.DdmVmInternal
+org.apache.harmony.kernel.vm.LangAccess
+org.apache.harmony.kernel.vm.ReflectionAccess
+org.apache.harmony.lang.annotation.AnnotationFactory
+org.apache.harmony.lang.annotation.AnnotationMember
 org.apache.harmony.luni.internal.net.www.protocol.file.FileURLConnection
 org.apache.harmony.luni.internal.net.www.protocol.file.Handler
 org.apache.harmony.luni.internal.net.www.protocol.http.Handler
+org.apache.harmony.luni.internal.net.www.protocol.http.Header
+org.apache.harmony.luni.internal.net.www.protocol.http.HttpConfiguration
+org.apache.harmony.luni.internal.net.www.protocol.http.HttpConnection
+org.apache.harmony.luni.internal.net.www.protocol.http.HttpConnectionManager
+org.apache.harmony.luni.internal.net.www.protocol.http.HttpConnectionManager$ConnectionPool
+org.apache.harmony.luni.internal.net.www.protocol.http.HttpURLConnection
+org.apache.harmony.luni.internal.net.www.protocol.http.HttpURLConnection$1
+org.apache.harmony.luni.internal.net.www.protocol.http.HttpURLConnection$LimitedInputStream
 org.apache.harmony.luni.internal.net.www.protocol.https.Handler
 org.apache.harmony.luni.internal.net.www.protocol.jar.Handler
 org.apache.harmony.luni.internal.net.www.protocol.jar.JarURLConnection
@@ -962,22 +1919,70 @@
 org.apache.harmony.luni.internal.util.TimezoneGetter
 org.apache.harmony.luni.internal.util.ZoneInfo
 org.apache.harmony.luni.internal.util.ZoneInfoDB
+org.apache.harmony.luni.net.GenericIPMreq
+org.apache.harmony.luni.net.NetUtil
+org.apache.harmony.luni.net.NetUtil$Action
 org.apache.harmony.luni.net.PlainSocketImpl
 org.apache.harmony.luni.net.PlainSocketImpl2
+org.apache.harmony.luni.net.SocketImplProvider
+org.apache.harmony.luni.net.SocketInputStream
+org.apache.harmony.luni.net.SocketOutputStream
+org.apache.harmony.luni.platform.AdapterManager
+org.apache.harmony.luni.platform.Endianness
+org.apache.harmony.luni.platform.IAdaptable
+org.apache.harmony.luni.platform.IAdapterManager
+org.apache.harmony.luni.platform.ICommonDataTypes
+org.apache.harmony.luni.platform.IFileSystem
+org.apache.harmony.luni.platform.IMemorySystem
+org.apache.harmony.luni.platform.INetworkSystem
+org.apache.harmony.luni.platform.ISystemComponent
+org.apache.harmony.luni.platform.OSComponent
+org.apache.harmony.luni.platform.OSComponentFactory
+org.apache.harmony.luni.platform.OSFileSystem
+org.apache.harmony.luni.platform.OSMemory
+org.apache.harmony.luni.platform.OSNetworkSystem
+org.apache.harmony.luni.platform.Platform
 org.apache.harmony.luni.platform.PlatformAddress
+org.apache.harmony.luni.platform.PlatformAddressFactory
+org.apache.harmony.luni.util.Base64
+org.apache.harmony.luni.util.FloatingPointParser
+org.apache.harmony.luni.util.FloatingPointParser$StringExponentPair
+org.apache.harmony.luni.util.Inet6Util
+org.apache.harmony.luni.util.MsgHelp
+org.apache.harmony.luni.util.MsgHelp$1
+org.apache.harmony.luni.util.NumberConverter
+org.apache.harmony.luni.util.PriviAction
 org.apache.harmony.luni.util.TwoKeyHashMap
+org.apache.harmony.luni.util.TwoKeyHashMap$Entry
+org.apache.harmony.luni.util.TwoKeyHashMap$EntryIteratorImpl
+org.apache.harmony.luni.util.TwoKeyHashMap$ValueIteratorImpl
+org.apache.harmony.luni.util.TwoKeyHashMap$ValuesCollectionImpl
+org.apache.harmony.luni.util.Util
+org.apache.harmony.nio.AddressUtil
+org.apache.harmony.nio.FileChannelFactory
+org.apache.harmony.nio.internal.DirectBuffer
+org.apache.harmony.nio.internal.FileChannelImpl
 org.apache.harmony.nio.internal.FileChannelImpl$RepositioningLock
 org.apache.harmony.nio.internal.LockManager
 org.apache.harmony.nio.internal.LockManager$1
-org.apache.harmony.nio.internal.ReadOnlyFileChannel
+org.apache.harmony.nio.internal.WriteOnlyFileChannel
+org.apache.harmony.security.asn1.ASN1Any
 org.apache.harmony.security.asn1.ASN1BitString
 org.apache.harmony.security.asn1.ASN1BitString$ASN1NamedBitList
 org.apache.harmony.security.asn1.ASN1Boolean
+org.apache.harmony.security.asn1.ASN1Choice
+org.apache.harmony.security.asn1.ASN1Constants
+org.apache.harmony.security.asn1.ASN1Constructured
 org.apache.harmony.security.asn1.ASN1Explicit
 org.apache.harmony.security.asn1.ASN1GeneralizedTime
 org.apache.harmony.security.asn1.ASN1Implicit
 org.apache.harmony.security.asn1.ASN1Integer
 org.apache.harmony.security.asn1.ASN1OctetString
+org.apache.harmony.security.asn1.ASN1Oid
+org.apache.harmony.security.asn1.ASN1Oid$1
+org.apache.harmony.security.asn1.ASN1Primitive
+org.apache.harmony.security.asn1.ASN1Sequence
+org.apache.harmony.security.asn1.ASN1SequenceOf
 org.apache.harmony.security.asn1.ASN1SetOf
 org.apache.harmony.security.asn1.ASN1StringType
 org.apache.harmony.security.asn1.ASN1StringType$1
@@ -987,19 +1992,47 @@
 org.apache.harmony.security.asn1.ASN1StringType$5
 org.apache.harmony.security.asn1.ASN1StringType$6
 org.apache.harmony.security.asn1.ASN1StringType$7
+org.apache.harmony.security.asn1.ASN1Time
+org.apache.harmony.security.asn1.ASN1Type
+org.apache.harmony.security.asn1.ASN1TypeCollection
 org.apache.harmony.security.asn1.ASN1UTCTime
+org.apache.harmony.security.asn1.ASN1ValueCollection
+org.apache.harmony.security.asn1.BerInputStream
+org.apache.harmony.security.asn1.BerOutputStream
 org.apache.harmony.security.asn1.BitString
+org.apache.harmony.security.asn1.DerInputStream
+org.apache.harmony.security.asn1.DerOutputStream
+org.apache.harmony.security.asn1.ObjectIdentifier
 org.apache.harmony.security.fortress.Engine
+org.apache.harmony.security.fortress.SecurityAccess
 org.apache.harmony.security.fortress.SecurityUtils
 org.apache.harmony.security.fortress.Services
+org.apache.harmony.security.fortress.Services$1
+org.apache.harmony.security.internal.nls.Messages
 org.apache.harmony.security.pkcs7.ContentInfo
+org.apache.harmony.security.pkcs7.ContentInfo$1
+org.apache.harmony.security.provider.cert.Cache
+org.apache.harmony.security.provider.cert.DRLCertFactory
+org.apache.harmony.security.provider.cert.DRLCertFactory$1
 org.apache.harmony.security.provider.cert.X509CertFactoryImpl
 org.apache.harmony.security.provider.cert.X509CertImpl
 org.apache.harmony.security.provider.cert.X509CertPathImpl
+org.apache.harmony.security.provider.cert.X509CertPathImpl$1
+org.apache.harmony.security.provider.cert.X509CertPathImpl$2
+org.apache.harmony.security.provider.cert.X509CertPathImpl$3
+org.apache.harmony.security.provider.crypto.CryptoProvider
+org.apache.harmony.security.provider.crypto.CryptoProvider$1
 org.apache.harmony.security.provider.crypto.RandomBitsSupplier
+org.apache.harmony.security.provider.crypto.RandomBitsSupplier$1
+org.apache.harmony.security.provider.crypto.SHA1Impl
 org.apache.harmony.security.provider.crypto.SHA1PRNG_SecureRandomImpl
+org.apache.harmony.security.provider.crypto.SHA1_Data
 org.apache.harmony.security.utils.AlgNameMapper
+org.apache.harmony.security.utils.ObjectIdentifier
 org.apache.harmony.security.x501.AttributeTypeAndValue
+org.apache.harmony.security.x501.AttributeTypeAndValue$1
+org.apache.harmony.security.x501.AttributeTypeAndValue$2
+org.apache.harmony.security.x501.AttributeTypeAndValueComparator
 org.apache.harmony.security.x501.AttributeValue
 org.apache.harmony.security.x501.DirectoryString
 org.apache.harmony.security.x501.DirectoryString$1
@@ -1011,63 +2044,194 @@
 org.apache.harmony.security.x509.BasicConstraints$1
 org.apache.harmony.security.x509.Certificate
 org.apache.harmony.security.x509.Certificate$1
+org.apache.harmony.security.x509.DNParser
+org.apache.harmony.security.x509.EDIPartyName
+org.apache.harmony.security.x509.EDIPartyName$1
 org.apache.harmony.security.x509.Extension
 org.apache.harmony.security.x509.Extension$1
 org.apache.harmony.security.x509.Extension$2
+org.apache.harmony.security.x509.ExtensionValue
 org.apache.harmony.security.x509.Extensions
 org.apache.harmony.security.x509.Extensions$1
 org.apache.harmony.security.x509.GeneralName
+org.apache.harmony.security.x509.GeneralName$1
 org.apache.harmony.security.x509.GeneralNames
+org.apache.harmony.security.x509.GeneralNames$1
 org.apache.harmony.security.x509.KeyUsage
 org.apache.harmony.security.x509.ORAddress
+org.apache.harmony.security.x509.ORAddress$1
+org.apache.harmony.security.x509.ORAddress$2
+org.apache.harmony.security.x509.OtherName
+org.apache.harmony.security.x509.OtherName$1
 org.apache.harmony.security.x509.SubjectPublicKeyInfo
 org.apache.harmony.security.x509.SubjectPublicKeyInfo$1
 org.apache.harmony.security.x509.TBSCertificate
 org.apache.harmony.security.x509.TBSCertificate$1
 org.apache.harmony.security.x509.Time
 org.apache.harmony.security.x509.Time$1
+org.apache.harmony.security.x509.Utils
 org.apache.harmony.security.x509.Validity
 org.apache.harmony.security.x509.Validity$1
+org.apache.harmony.text.BidiWrapper
+org.apache.harmony.xml.ExpatAttributes
 org.apache.harmony.xml.ExpatParser
+org.apache.harmony.xml.ExpatParser$ClonedAttributes
+org.apache.harmony.xml.ExpatParser$CurrentAttributes
+org.apache.harmony.xml.ExpatParser$ExpatLocator
 org.apache.harmony.xml.ExpatPullParser
+org.apache.harmony.xml.ExpatPullParser$ByteDocument
+org.apache.harmony.xml.ExpatPullParser$Document
+org.apache.harmony.xml.ExpatPullParser$Document$SaxHandler
+org.apache.harmony.xml.ExpatPullParser$EndTagEvent
+org.apache.harmony.xml.ExpatPullParser$Event
+org.apache.harmony.xml.ExpatPullParser$NamespaceStack
+org.apache.harmony.xml.ExpatPullParser$NamespaceStack$Builder
+org.apache.harmony.xml.ExpatPullParser$StartDocumentEvent
+org.apache.harmony.xml.ExpatPullParser$StartTagEvent
+org.apache.harmony.xml.ExpatPullParser$TextEvent
 org.apache.harmony.xml.ExpatReader
+org.apache.harmony.xml.dom.DOMImplementationImpl
+org.apache.harmony.xml.dom.DocumentImpl
+org.apache.harmony.xml.parsers.DocumentBuilderFactoryImpl
+org.apache.harmony.xml.parsers.DocumentBuilderImpl
+org.apache.harmony.xnet.provider.jsse.AbstractSessionContext
 org.apache.harmony.xnet.provider.jsse.ClientSessionContext
+org.apache.harmony.xnet.provider.jsse.ClientSessionContext$1
+org.apache.harmony.xnet.provider.jsse.ClientSessionContext$HostAndPort
+org.apache.harmony.xnet.provider.jsse.FileClientSessionCache
+org.apache.harmony.xnet.provider.jsse.FileClientSessionCache$Impl
+org.apache.harmony.xnet.provider.jsse.JSSEProvider
+org.apache.harmony.xnet.provider.jsse.JSSEProvider$1
+org.apache.harmony.xnet.provider.jsse.KeyManagerFactoryImpl
+org.apache.harmony.xnet.provider.jsse.KeyManagerFactoryImpl$1
+org.apache.harmony.xnet.provider.jsse.KeyManagerImpl
+org.apache.harmony.xnet.provider.jsse.NativeCrypto
+org.apache.harmony.xnet.provider.jsse.OpenSSLMessageDigest
+org.apache.harmony.xnet.provider.jsse.OpenSSLServerSocketImpl
 org.apache.harmony.xnet.provider.jsse.OpenSSLSessionImpl
+org.apache.harmony.xnet.provider.jsse.OpenSSLSocketFactoryImpl
 org.apache.harmony.xnet.provider.jsse.OpenSSLSocketImpl
 org.apache.harmony.xnet.provider.jsse.OpenSSLSocketImpl$Finalizer
+org.apache.harmony.xnet.provider.jsse.OpenSSLSocketImpl$LoggerHolder
 org.apache.harmony.xnet.provider.jsse.OpenSSLSocketImpl$SSLInputStream
 org.apache.harmony.xnet.provider.jsse.OpenSSLSocketImpl$SSLOutputStream
+org.apache.harmony.xnet.provider.jsse.ProtocolVersion
+org.apache.harmony.xnet.provider.jsse.SSLClientSessionCache
 org.apache.harmony.xnet.provider.jsse.SSLContextImpl
 org.apache.harmony.xnet.provider.jsse.SSLParameters
+org.apache.harmony.xnet.provider.jsse.ServerSessionContext
+org.apache.harmony.xnet.provider.jsse.ServerSessionContext$1
 org.apache.harmony.xnet.provider.jsse.TrustManagerFactoryImpl
+org.apache.harmony.xnet.provider.jsse.TrustManagerFactoryImpl$1
+org.apache.harmony.xnet.provider.jsse.TrustManagerFactoryImpl$2
 org.apache.harmony.xnet.provider.jsse.TrustManagerImpl
+org.apache.http.ConnectionReuseStrategy
+org.apache.http.FormattedHeader
+org.apache.http.Header
+org.apache.http.HeaderElement
+org.apache.http.HeaderElementIterator
+org.apache.http.HeaderIterator
+org.apache.http.HttpClientConnection
+org.apache.http.HttpConnection
+org.apache.http.HttpConnectionMetrics
+org.apache.http.HttpEntity
+org.apache.http.HttpEntityEnclosingRequest
+org.apache.http.HttpException
 org.apache.http.HttpHost
+org.apache.http.HttpInetConnection
+org.apache.http.HttpMessage
+org.apache.http.HttpRequest
 org.apache.http.HttpRequestInterceptor
+org.apache.http.HttpResponse
+org.apache.http.HttpResponseFactory
+org.apache.http.HttpResponseInterceptor
 org.apache.http.HttpVersion
+org.apache.http.NameValuePair
+org.apache.http.ProtocolException
+org.apache.http.ProtocolVersion
+org.apache.http.ReasonPhraseCatalog
+org.apache.http.RequestLine
+org.apache.http.StatusLine
+org.apache.http.TokenIterator
+org.apache.http.auth.AuthSchemeFactory
 org.apache.http.auth.AuthSchemeRegistry
+org.apache.http.auth.AuthState
+org.apache.http.client.AuthenticationHandler
+org.apache.http.client.ClientProtocolException
+org.apache.http.client.CookieStore
+org.apache.http.client.CredentialsProvider
 org.apache.http.client.HttpClient
+org.apache.http.client.HttpRequestRetryHandler
+org.apache.http.client.RedirectHandler
 org.apache.http.client.RequestDirector
+org.apache.http.client.ResponseHandler
+org.apache.http.client.UserTokenHandler
+org.apache.http.client.methods.AbortableHttpRequest
+org.apache.http.client.methods.HttpEntityEnclosingRequestBase
+org.apache.http.client.methods.HttpGet
+org.apache.http.client.methods.HttpPost
 org.apache.http.client.methods.HttpRequestBase
+org.apache.http.client.methods.HttpUriRequest
+org.apache.http.client.params.HttpClientParams
 org.apache.http.client.protocol.RequestAddCookies
 org.apache.http.client.protocol.RequestDefaultHeaders
 org.apache.http.client.protocol.RequestProxyAuthentication
 org.apache.http.client.protocol.RequestTargetAuthentication
 org.apache.http.client.protocol.ResponseProcessCookies
+org.apache.http.client.utils.URIUtils
+org.apache.http.conn.BasicManagedEntity
+org.apache.http.conn.ClientConnectionManager
+org.apache.http.conn.ClientConnectionOperator
+org.apache.http.conn.ClientConnectionRequest
+org.apache.http.conn.ConnectionKeepAliveStrategy
+org.apache.http.conn.ConnectionReleaseTrigger
+org.apache.http.conn.EofSensorInputStream
+org.apache.http.conn.EofSensorWatcher
+org.apache.http.conn.ManagedClientConnection
+org.apache.http.conn.OperatedClientConnection
+org.apache.http.conn.params.ConnManagerPNames
+org.apache.http.conn.params.ConnManagerParams
 org.apache.http.conn.params.ConnManagerParams$1
+org.apache.http.conn.params.ConnPerRoute
+org.apache.http.conn.params.ConnPerRouteBean
+org.apache.http.conn.params.ConnRoutePNames
 org.apache.http.conn.params.ConnRouteParams
+org.apache.http.conn.routing.BasicRouteDirector
 org.apache.http.conn.routing.HttpRoute
+org.apache.http.conn.routing.HttpRouteDirector
+org.apache.http.conn.routing.HttpRoutePlanner
+org.apache.http.conn.routing.RouteInfo
 org.apache.http.conn.routing.RouteInfo$LayerType
 org.apache.http.conn.routing.RouteInfo$TunnelType
 org.apache.http.conn.routing.RouteTracker
+org.apache.http.conn.scheme.LayeredSocketFactory
 org.apache.http.conn.scheme.PlainSocketFactory
 org.apache.http.conn.scheme.Scheme
 org.apache.http.conn.scheme.SchemeRegistry
+org.apache.http.conn.scheme.SocketFactory
+org.apache.http.conn.ssl.AbstractVerifier
 org.apache.http.conn.ssl.AllowAllHostnameVerifier
 org.apache.http.conn.ssl.BrowserCompatHostnameVerifier
 org.apache.http.conn.ssl.SSLSocketFactory
 org.apache.http.conn.ssl.StrictHostnameVerifier
-org.apache.http.conn.util.InetAddressUtils
+org.apache.http.conn.ssl.X509HostnameVerifier
+org.apache.http.cookie.ClientCookie
+org.apache.http.cookie.Cookie
+org.apache.http.cookie.CookieAttributeHandler
+org.apache.http.cookie.CookieIdentityComparator
+org.apache.http.cookie.CookieOrigin
+org.apache.http.cookie.CookiePathComparator
+org.apache.http.cookie.CookieSpec
+org.apache.http.cookie.CookieSpecFactory
 org.apache.http.cookie.CookieSpecRegistry
+org.apache.http.cookie.SetCookie
+org.apache.http.entity.AbstractHttpEntity
+org.apache.http.entity.BasicHttpEntity
+org.apache.http.entity.ByteArrayEntity
+org.apache.http.entity.ContentLengthStrategy
+org.apache.http.entity.HttpEntityWrapper
+org.apache.http.entity.StringEntity
+org.apache.http.impl.AbstractHttpClientConnection
 org.apache.http.impl.DefaultConnectionReuseStrategy
 org.apache.http.impl.DefaultHttpResponseFactory
 org.apache.http.impl.EnglishReasonPhraseCatalog
@@ -1077,49 +2241,124 @@
 org.apache.http.impl.auth.DigestSchemeFactory
 org.apache.http.impl.client.AbstractAuthenticationHandler
 org.apache.http.impl.client.AbstractHttpClient
+org.apache.http.impl.client.BasicCookieStore
 org.apache.http.impl.client.BasicCredentialsProvider
+org.apache.http.impl.client.ClientParamsStack
+org.apache.http.impl.client.DefaultConnectionKeepAliveStrategy
 org.apache.http.impl.client.DefaultHttpClient
 org.apache.http.impl.client.DefaultHttpRequestRetryHandler
 org.apache.http.impl.client.DefaultProxyAuthenticationHandler
 org.apache.http.impl.client.DefaultRedirectHandler
+org.apache.http.impl.client.DefaultRequestDirector
 org.apache.http.impl.client.DefaultTargetAuthenticationHandler
 org.apache.http.impl.client.DefaultUserTokenHandler
 org.apache.http.impl.client.EntityEnclosingRequestWrapper
+org.apache.http.impl.client.RequestWrapper
+org.apache.http.impl.client.RoutedRequest
 org.apache.http.impl.conn.AbstractClientConnAdapter
+org.apache.http.impl.conn.AbstractPoolEntry
+org.apache.http.impl.conn.AbstractPooledConnAdapter
 org.apache.http.impl.conn.DefaultClientConnection
 org.apache.http.impl.conn.DefaultClientConnectionOperator
 org.apache.http.impl.conn.DefaultHttpRoutePlanner
 org.apache.http.impl.conn.DefaultResponseParser
 org.apache.http.impl.conn.IdleConnectionHandler
+org.apache.http.impl.conn.IdleConnectionHandler$TimeValues
+org.apache.http.impl.conn.SingleClientConnManager
+org.apache.http.impl.conn.SingleClientConnManager$1
+org.apache.http.impl.conn.SingleClientConnManager$ConnAdapter
+org.apache.http.impl.conn.SingleClientConnManager$PoolEntry
+org.apache.http.impl.conn.tsccm.AbstractConnPool
 org.apache.http.impl.conn.tsccm.BasicPoolEntry
 org.apache.http.impl.conn.tsccm.BasicPoolEntryRef
+org.apache.http.impl.conn.tsccm.BasicPooledConnAdapter
 org.apache.http.impl.conn.tsccm.ConnPoolByRoute
+org.apache.http.impl.conn.tsccm.ConnPoolByRoute$1
+org.apache.http.impl.conn.tsccm.PoolEntryRequest
+org.apache.http.impl.conn.tsccm.RefQueueHandler
 org.apache.http.impl.conn.tsccm.RefQueueWorker
 org.apache.http.impl.conn.tsccm.RouteSpecificPool
 org.apache.http.impl.conn.tsccm.ThreadSafeClientConnManager
+org.apache.http.impl.conn.tsccm.ThreadSafeClientConnManager$1
+org.apache.http.impl.conn.tsccm.WaitingThreadAborter
+org.apache.http.impl.cookie.AbstractCookieAttributeHandler
+org.apache.http.impl.cookie.AbstractCookieSpec
 org.apache.http.impl.cookie.BasicClientCookie
+org.apache.http.impl.cookie.BasicCommentHandler
+org.apache.http.impl.cookie.BasicDomainHandler
+org.apache.http.impl.cookie.BasicExpiresHandler
+org.apache.http.impl.cookie.BasicMaxAgeHandler
+org.apache.http.impl.cookie.BasicPathHandler
+org.apache.http.impl.cookie.BasicSecureHandler
+org.apache.http.impl.cookie.BestMatchSpec
 org.apache.http.impl.cookie.BestMatchSpecFactory
+org.apache.http.impl.cookie.BrowserCompatSpec
 org.apache.http.impl.cookie.BrowserCompatSpecFactory
+org.apache.http.impl.cookie.CookieSpecBase
 org.apache.http.impl.cookie.DateUtils
 org.apache.http.impl.cookie.NetscapeDraftSpecFactory
+org.apache.http.impl.cookie.RFC2109DomainHandler
+org.apache.http.impl.cookie.RFC2109Spec
 org.apache.http.impl.cookie.RFC2109SpecFactory
+org.apache.http.impl.cookie.RFC2109VersionHandler
+org.apache.http.impl.cookie.RFC2965CommentUrlAttributeHandler
+org.apache.http.impl.cookie.RFC2965DiscardAttributeHandler
+org.apache.http.impl.cookie.RFC2965DomainAttributeHandler
+org.apache.http.impl.cookie.RFC2965PortAttributeHandler
+org.apache.http.impl.cookie.RFC2965Spec
 org.apache.http.impl.cookie.RFC2965SpecFactory
+org.apache.http.impl.cookie.RFC2965VersionAttributeHandler
 org.apache.http.impl.entity.EntityDeserializer
 org.apache.http.impl.entity.EntitySerializer
 org.apache.http.impl.entity.LaxContentLengthStrategy
 org.apache.http.impl.entity.StrictContentLengthStrategy
+org.apache.http.impl.io.AbstractMessageParser
+org.apache.http.impl.io.AbstractMessageWriter
+org.apache.http.impl.io.AbstractSessionInputBuffer
+org.apache.http.impl.io.AbstractSessionOutputBuffer
+org.apache.http.impl.io.ChunkedInputStream
+org.apache.http.impl.io.ContentLengthInputStream
+org.apache.http.impl.io.ContentLengthOutputStream
 org.apache.http.impl.io.HttpRequestWriter
 org.apache.http.impl.io.HttpTransportMetricsImpl
 org.apache.http.impl.io.SocketInputBuffer
 org.apache.http.impl.io.SocketOutputBuffer
+org.apache.http.io.HttpMessageParser
+org.apache.http.io.HttpMessageWriter
+org.apache.http.io.HttpTransportMetrics
+org.apache.http.io.SessionInputBuffer
+org.apache.http.io.SessionOutputBuffer
+org.apache.http.message.AbstractHttpMessage
+org.apache.http.message.BasicHeader
+org.apache.http.message.BasicHeaderElement
+org.apache.http.message.BasicHeaderElementIterator
 org.apache.http.message.BasicHeaderValueParser
-org.apache.http.message.BasicHttpEntityEnclosingRequest
 org.apache.http.message.BasicHttpResponse
 org.apache.http.message.BasicLineFormatter
 org.apache.http.message.BasicLineParser
+org.apache.http.message.BasicListHeaderIterator
+org.apache.http.message.BasicNameValuePair
+org.apache.http.message.BasicRequestLine
+org.apache.http.message.BasicStatusLine
+org.apache.http.message.BasicTokenIterator
+org.apache.http.message.BufferedHeader
+org.apache.http.message.HeaderGroup
+org.apache.http.message.HeaderValueParser
+org.apache.http.message.LineFormatter
+org.apache.http.message.LineParser
+org.apache.http.message.ParserCursor
+org.apache.http.params.AbstractHttpParams
 org.apache.http.params.BasicHttpParams
+org.apache.http.params.CoreConnectionPNames
+org.apache.http.params.CoreProtocolPNames
+org.apache.http.params.HttpConnectionParams
+org.apache.http.params.HttpParams
+org.apache.http.params.HttpProtocolParams
+org.apache.http.protocol.BasicHttpContext
 org.apache.http.protocol.BasicHttpProcessor
 org.apache.http.protocol.HTTP
+org.apache.http.protocol.HttpContext
+org.apache.http.protocol.HttpProcessor
 org.apache.http.protocol.HttpRequestExecutor
 org.apache.http.protocol.HttpRequestInterceptorList
 org.apache.http.protocol.HttpResponseInterceptorList
@@ -1131,23 +2370,48 @@
 org.apache.http.util.ByteArrayBuffer
 org.apache.http.util.CharArrayBuffer
 org.apache.http.util.EntityUtils
+org.apache.http.util.LangUtils
 org.apache.http.util.VersionInfo
+org.bouncycastle.asn1.ASN1Choice
+org.bouncycastle.asn1.ASN1Collection
+org.bouncycastle.asn1.ASN1Collection$ASN1CollectionEnumeration
+org.bouncycastle.asn1.ASN1Encodable
+org.bouncycastle.asn1.ASN1EncodableVector
+org.bouncycastle.asn1.ASN1InputStream
+org.bouncycastle.asn1.ASN1InputStream$1
+org.bouncycastle.asn1.ASN1Null
+org.bouncycastle.asn1.ASN1OctetString
+org.bouncycastle.asn1.ASN1OutputStream
+org.bouncycastle.asn1.ASN1Sequence
+org.bouncycastle.asn1.ASN1Set
+org.bouncycastle.asn1.ASN1TaggedObject
 org.bouncycastle.asn1.DERBitString
+org.bouncycastle.asn1.DERBoolean
+org.bouncycastle.asn1.DEREncodable
+org.bouncycastle.asn1.DEREncodableVector
 org.bouncycastle.asn1.DERIA5String
 org.bouncycastle.asn1.DERInteger
+org.bouncycastle.asn1.DERNull
 org.bouncycastle.asn1.DERObject
 org.bouncycastle.asn1.DERObjectIdentifier
 org.bouncycastle.asn1.DEROctetString
+org.bouncycastle.asn1.DEROutputStream
 org.bouncycastle.asn1.DERPrintableString
 org.bouncycastle.asn1.DERSequence
 org.bouncycastle.asn1.DERSet
+org.bouncycastle.asn1.DERString
 org.bouncycastle.asn1.DERTaggedObject
+org.bouncycastle.asn1.DERTags
 org.bouncycastle.asn1.DERUTCTime
 org.bouncycastle.asn1.DERUTF8String
+org.bouncycastle.asn1.OIDTokenizer
 org.bouncycastle.asn1.OrderedTable
+org.bouncycastle.asn1.iana.IANAObjectIdentifiers
 org.bouncycastle.asn1.nist.NISTObjectIdentifiers
+org.bouncycastle.asn1.oiw.OIWObjectIdentifiers
 org.bouncycastle.asn1.pkcs.PKCSObjectIdentifiers
 org.bouncycastle.asn1.x509.AlgorithmIdentifier
+org.bouncycastle.asn1.x509.BasicConstraints
 org.bouncycastle.asn1.x509.RSAPublicKeyStructure
 org.bouncycastle.asn1.x509.SubjectPublicKeyInfo
 org.bouncycastle.asn1.x509.TBSCertificateStructure
@@ -1157,27 +2421,53 @@
 org.bouncycastle.asn1.x509.X509Extensions
 org.bouncycastle.asn1.x509.X509Name
 org.bouncycastle.asn1.x509.X509NameElementList
-org.bouncycastle.asn1.x9.X9ObjectIdentifiers
+org.bouncycastle.asn1.x509.X509ObjectIdentifiers
+org.bouncycastle.crypto.CipherParameters
+org.bouncycastle.crypto.Digest
+org.bouncycastle.crypto.ExtendedDigest
+org.bouncycastle.crypto.Mac
+org.bouncycastle.crypto.PBEParametersGenerator
 org.bouncycastle.crypto.engines.AESFastEngine
+org.bouncycastle.crypto.generators.PKCS12ParametersGenerator
+org.bouncycastle.crypto.io.MacInputStream
+org.bouncycastle.crypto.macs.HMac
+org.bouncycastle.crypto.params.KeyParameter
+org.bouncycastle.jce.interfaces.BCKeyStore
+org.bouncycastle.jce.interfaces.PKCS12BagAttributeCarrier
+org.bouncycastle.jce.provider.BouncyCastleProvider
 org.bouncycastle.jce.provider.CertPathValidatorUtilities
 org.bouncycastle.jce.provider.JCEBlockCipher$AES
 org.bouncycastle.jce.provider.JCERSAPublicKey
+org.bouncycastle.jce.provider.JDKKeyFactory
 org.bouncycastle.jce.provider.JDKKeyFactory$RSA
 org.bouncycastle.jce.provider.JDKKeyStore
 org.bouncycastle.jce.provider.JDKKeyStore$StoreEntry
+org.bouncycastle.jce.provider.JDKX509CertificateFactory
 org.bouncycastle.jce.provider.PKIXCertPathValidatorSpi
+org.bouncycastle.jce.provider.PKIXPolicyNode
 org.bouncycastle.jce.provider.RSAUtil
 org.bouncycastle.jce.provider.X509CertificateObject
+org.bouncycastle.util.Strings
 org.ccil.cowan.tagsoup.HTMLScanner
 org.ccil.cowan.tagsoup.Parser
 org.json.JSONArray
 org.json.JSONObject
-org.json.JSONStringer
+org.json.JSONObject$Null
+org.json.JSONTokener
 org.kxml2.io.KXmlParser
 org.kxml2.io.KXmlSerializer
+org.openssl.NativeBN
+org.w3c.dom.DOMImplementation
+org.xml.sax.Attributes
+org.xml.sax.ContentHandler
+org.xml.sax.DTDHandler
+org.xml.sax.EntityResolver
+org.xml.sax.ErrorHandler
+org.xml.sax.InputSource
+org.xml.sax.Locator
+org.xml.sax.XMLReader
 org.xml.sax.helpers.DefaultHandler
-org.xml.sax.helpers.NewInstance
+org.xmlpull.v1.XmlPullParser
 org.xmlpull.v1.XmlPullParserFactory
-org.xmlpull.v1.sax2.Driver
+org.xmlpull.v1.XmlSerializer
 sun.misc.Unsafe
-
diff --git a/tools/preload/20090811.compiled b/tools/preload/20090811.compiled
new file mode 100644
index 0000000..dd61487
--- /dev/null
+++ b/tools/preload/20090811.compiled
Binary files differ
diff --git a/tools/preload/ClassRank.java b/tools/preload/ClassRank.java
index 3699b89..c562d5c 100644
--- a/tools/preload/ClassRank.java
+++ b/tools/preload/ClassRank.java
@@ -26,7 +26,7 @@
      * Increase this number to add more weight to classes which were loaded
      * earlier.
      */
-    static final int SEQUENCE_WEIGHT = 500; // 5 ms
+    static final int SEQUENCE_WEIGHT = 500; // 0.5ms
 
     static final int BUCKET_SIZE = 5;
 
diff --git a/tools/preload/LoadedClass.java b/tools/preload/LoadedClass.java
index 5782807..9ef17f5 100644
--- a/tools/preload/LoadedClass.java
+++ b/tools/preload/LoadedClass.java
@@ -15,10 +15,7 @@
  */
 
 import java.io.Serializable;
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.List;
-import java.util.Set;
+import java.util.*;
 
 /**
  * A loaded class.
@@ -54,7 +51,7 @@
     }
 
     void measureMemoryUsage() {
-        this.memoryUsage = MemoryUsage.forClass(name);        
+//        this.memoryUsage = MemoryUsage.forClass(name);
     }
 
     int mlt = -1;
@@ -102,31 +99,20 @@
         }
     }
 
-    /**
-     * Counts loads by apps.
-     */
-    int appLoads() {
-        return operationsByApps(loads);
+    /** Returns names of apps that loaded this class. */
+    Set<String> applicationNames() {
+        Set<String> appNames = new HashSet<String>();
+        addProcessNames(loads, appNames);
+        addProcessNames(initializations, appNames);
+        return appNames;
     }
 
-    /**
-     * Counts inits by apps.
-     */
-    int appInits() {
-        return operationsByApps(initializations);
-    }
-
-    /**
-     * Counts number of app operations in the given list.
-     */
-    private static int operationsByApps(List<Operation> operations) {
-        int byApps = 0;
-        for (Operation operation : operations) {
+    private void addProcessNames(List<Operation> ops, Set<String> appNames) {
+        for (Operation operation : ops) {
             if (operation.process.isApplication()) {
-                byApps++;
+                appNames.add(operation.process.name);
             }
         }
-        return byApps;
     }
 
     public int compareTo(LoadedClass o) {
@@ -160,4 +146,8 @@
 
         return false;
     }
+
+    public boolean isPreloadable() {
+        return systemClass && Policy.isPreloadableClass(name);
+    }
 }
diff --git a/tools/preload/Policy.java b/tools/preload/Policy.java
index 554966b..ade889e3 100644
--- a/tools/preload/Policy.java
+++ b/tools/preload/Policy.java
@@ -24,47 +24,32 @@
 public class Policy {
     
     /**
+     * No constructor - use static methods only
+     */
+    private Policy() {}
+
+    /**
      * This location (in the build system) of the preloaded-classes file.
      */
-    private static final String PRELOADED_CLASS_FILE = "frameworks/base/preloaded-classes";
-    
+    private static final String PRELOADED_CLASS_FILE
+            = "frameworks/base/preloaded-classes";
+
     /**
-     * The internal process name of the system process.  Note, this also shows up as
-     * "system_process", e.g. in ddms.
-     */
-    private static final String SYSTEM_SERVER_PROCESS_NAME = "system_server";
-
-    /** 
-     * Names of non-application processes - these will not be checked for preloaded classes.
-     * 
-     * TODO: Replace this hardcoded list with a walk up the parent chain looking for zygote.
-     */
-    private static final Set<String> NOT_FROM_ZYGOTE = new HashSet<String>(Arrays.asList(
-            "zygote",
-            "dexopt",
-            "unknown",
-            SYSTEM_SERVER_PROCESS_NAME,
-            "com.android.development",
-            "app_process" // am & other shell commands
-    ));
-
-    /** 
-     * Long running services.  These are restricted in their contribution to the preloader
-     * because their launch time is less critical.
+     * Long running services. These are restricted in their contribution to the 
+     * preloader because their launch time is less critical.
      */
     private static final Set<String> SERVICES = new HashSet<String>(Arrays.asList(
-            SYSTEM_SERVER_PROCESS_NAME,
-            "com.android.acore",
-         // Commented out to make sure DefaultTimeZones gets preloaded.
-         // "com.android.phone",
+            "system_server",
             "com.google.process.content",
-            "android.process.media"
+            "android.process.media",
+            "com.google.process.gapps"
     ));
 
     /**
      * Classes which we shouldn't load from the Zygote.
      */
-    private static final Set<String> EXCLUDED_CLASSES = new HashSet<String>(Arrays.asList(
+    private static final Set<String> EXCLUDED_CLASSES
+            = new HashSet<String>(Arrays.asList(
         // Binders
         "android.app.AlarmManager",
         "android.app.SearchManager",
@@ -75,15 +60,9 @@
         "android.os.AsyncTask",
         "android.pim.ContactsAsyncHelper",
         "java.lang.ProcessManager"
-        
     ));
 
     /**
-     * No constructor - use static methods only
-     */
-    private Policy() {}
-    
-    /**
      * Returns the path/file name of the preloaded classes file that will be written 
      * by WritePreloadedClassFile.
      */
@@ -92,13 +71,6 @@
     }
     
     /**
-     * Reports if a given process name was created from zygote
-     */
-    public static boolean isFromZygote(String processName) {
-        return !NOT_FROM_ZYGOTE.contains(processName);
-    }
-    
-    /**
      * Reports if the given process name is a "long running" process or service
      */
     public static boolean isService(String processName) {
diff --git a/tools/preload/PrintCsv.java b/tools/preload/PrintCsv.java
index 9f2a318..62f4271 100644
--- a/tools/preload/PrintCsv.java
+++ b/tools/preload/PrintCsv.java
@@ -18,6 +18,9 @@
 import java.io.FileInputStream;
 import java.io.ObjectInputStream;
 import java.io.BufferedInputStream;
+import java.util.Set;
+import java.util.HashSet;
+import java.util.TreeSet;
 
 /**
  * Prints raw information in CSV format.
@@ -37,13 +40,14 @@
                 + ",Preloaded"
                 + ",Median Load Time (us)"
                 + ",Median Init Time (us)"
+                + ",Process Names"
                 + ",Load Count"
-                + ",Init Count"
-                + ",Managed Heap (B)"
-                + ",Native Heap (B)"
-                + ",Managed Pages (kB)"
-                + ",Native Pages (kB)"
-                + ",Other Pages (kB)");
+                + ",Init Count");
+//                + ",Managed Heap (B)"
+//                + ",Native Heap (B)"
+//                + ",Managed Pages (kB)"
+//                + ",Native Pages (kB)"
+//                + ",Other Pages (kB)");
 
         MemoryUsage baseline = root.baseline;
 
@@ -60,10 +64,23 @@
             System.out.print(',');
             System.out.print(loadedClass.medianInitTimeMicros());
             System.out.print(',');
+            System.out.print('"');
+
+            Set<String> procNames = new TreeSet<String>();
+            for (Operation op : loadedClass.loads)
+                procNames.add(op.process.name);
+            for (Operation op : loadedClass.initializations)
+                procNames.add(op.process.name);
+            for (String name : procNames) {
+                System.out.print(name + "\n");
+            }
+            
+            System.out.print('"');
+            System.out.print(',');
             System.out.print(loadedClass.loads.size());
             System.out.print(',');
             System.out.print(loadedClass.initializations.size());
-
+/*
             if (loadedClass.memoryUsage.isAvailable()) {
                 MemoryUsage subtracted
                         = loadedClass.memoryUsage.subtract(baseline);
@@ -82,7 +99,7 @@
             } else {
                 System.out.print(",n/a,n/a,n/a,n/a,n/a");
             }
-
+*/
             System.out.println();
         }
     }
diff --git a/tools/preload/Proc.java b/tools/preload/Proc.java
index 22697f8..66e04dc 100644
--- a/tools/preload/Proc.java
+++ b/tools/preload/Proc.java
@@ -14,8 +14,6 @@
  * limitations under the License.
  */
 
-import java.util.Set;
-import java.util.HashSet;
 import java.util.Arrays;
 import java.util.List;
 import java.util.ArrayList;
@@ -23,7 +21,6 @@
 import java.util.Map;
 import java.util.HashMap;
 import java.util.Collections;
-import java.util.TreeSet;
 import java.io.Serializable;
 
 /**
@@ -38,11 +35,6 @@
      */
     static final int PERCENTAGE_TO_PRELOAD = 75;
 
-    /**
-     * Maximum number of classes to preload for a given process.
-     */
-    static final int MAX_TO_PRELOAD = 100;
-
     /** Parent process. */
     final Proc parent;
 
@@ -97,11 +89,9 @@
 
     /**
      * Returns a list of classes which should be preloaded.
-     * 
-     * @param takeAllClasses forces all classes to be taken (irrespective of ranking)
      */
-    List<LoadedClass> highestRankedClasses(boolean takeAllClasses) {
-        if (!isApplication()) {
+    List<LoadedClass> highestRankedClasses() {
+        if (!isApplication() || Policy.isService(this.name)) {
             return Collections.emptyList();
         }
 
@@ -114,25 +104,13 @@
         int timeToSave = totalTimeMicros() * percentageToPreload() / 100;
         int timeSaved = 0;
 
-        boolean service = Policy.isService(this.name);
-
+        int count = 0;
         List<LoadedClass> highest = new ArrayList<LoadedClass>();
         for (Operation operation : ranked) {
-            
-            // These are actual ranking decisions, which can be overridden
-            if (!takeAllClasses) {
-                if (highest.size() >= MAX_TO_PRELOAD) {
-                    System.out.println(name + " got " 
-                            + (timeSaved * 100 / timeToSave) + "% through");
-                    break;
-                }
-    
-                if (timeSaved >= timeToSave) {
-                    break;
-                }
+            if (timeSaved >= timeToSave || count++ > 100) {
+                break;
             }
 
-            // The remaining rules apply even to wired-down processes
             if (!Policy.isPreloadableClass(operation.loadedClass.name)) {
                 continue;
             }
@@ -140,13 +118,8 @@
             if (!operation.loadedClass.systemClass) {
                 continue;
             }
-
-            // Only load java.* class for services.
-            if (!service || operation.loadedClass.name.startsWith("java.")) {
-                highest.add(operation.loadedClass);
-            }
-
-            // For services, still count the time even if it's not in java.* 
+    
+            highest.add(operation.loadedClass);
             timeSaved += operation.medianExclusiveTimeMicros();
         }
 
@@ -166,11 +139,13 @@
 
     /** 
      * Returns true if this process is an app.
-     *      
-     * TODO: Replace the hardcoded list with a walk up the parent chain looking for zygote.
      */
     public boolean isApplication() {
-        return Policy.isFromZygote(name);
+        if (name.equals("com.android.development")) {
+            return false;
+        }
+
+        return parent != null && parent.name.equals("zygote");
     }
 
     /**
diff --git a/tools/preload/WritePreloadedClassFile.java b/tools/preload/WritePreloadedClassFile.java
index d87b1f0..b209af0 100644
--- a/tools/preload/WritePreloadedClassFile.java
+++ b/tools/preload/WritePreloadedClassFile.java
@@ -20,8 +20,6 @@
 import java.io.OutputStreamWriter;
 import java.io.Writer;
 import java.nio.charset.Charset;
-import java.util.ArrayList;
-import java.util.List;
 import java.util.Set;
 import java.util.TreeSet;
 
@@ -32,71 +30,85 @@
 public class WritePreloadedClassFile {
 
     public static void main(String[] args) throws IOException, ClassNotFoundException {
-        
-        // Process command-line arguments first
-        List<String> wiredProcesses = new ArrayList<String>();
-        String inputFileName = null;
-        int argOffset = 0;
-        try {
-            while ("--preload-all-process".equals(args[argOffset])) {
-                argOffset++;
-                wiredProcesses.add(args[argOffset++]);
-            }
-            
-            inputFileName = args[argOffset++];
-        } catch (RuntimeException e) {
-            System.err.println("Usage: WritePreloadedClassFile " +
-                    "[--preload-all-process process-name] " +
-                    "[compiled log file]");
-            System.exit(0);
+        if (args.length != 1) {
+            System.err.println("Usage: WritePreloadedClassFile [compiled log]");
+            System.exit(-1);
         }
+        String rootFile = args[0];
+        Root root = Root.fromFile(rootFile);
 
-        Root root = Root.fromFile(inputFileName);
-
+        // No classes are preloaded to start.
         for (LoadedClass loadedClass : root.loadedClasses.values()) {
             loadedClass.preloaded = false;
         }
 
+        // Open preloaded-classes file for output.
         Writer out = new BufferedWriter(new OutputStreamWriter(
                 new FileOutputStream(Policy.getPreloadedClassFileName()),
                 Charset.forName("US-ASCII")));
 
         out.write("# Classes which are preloaded by com.android.internal.os.ZygoteInit.\n");
         out.write("# Automatically generated by /frameworks/base/tools/preload.\n");
-        out.write("# percent=" + Proc.PERCENTAGE_TO_PRELOAD + ", weight="
-                + ClassRank.SEQUENCE_WEIGHT
+        out.write("# percent=" + Proc.PERCENTAGE_TO_PRELOAD
+                + ", weight=" + ClassRank.SEQUENCE_WEIGHT
                 + ", bucket_size=" + ClassRank.BUCKET_SIZE
                 + "\n");
-        for (String wiredProcess : wiredProcesses) {
-            out.write("# forcing classes loaded by: " + wiredProcess + "\n");
-        }
 
-        Set<LoadedClass> highestRanked = new TreeSet<LoadedClass>();
-        for (Proc proc : root.processes.values()) {
-            // test to see if this is one of the wired-down ("take all classes") processes
-            boolean isWired = wiredProcesses.contains(proc.name);
-            
-            List<LoadedClass> highestForProc = proc.highestRankedClasses(isWired);
+        Set<LoadedClass> toPreload = new TreeSet<LoadedClass>();
 
-            System.out.println(proc.name + ": " + highestForProc.size());
-
-            for (LoadedClass loadedClass : highestForProc) {
-                loadedClass.preloaded = true;
+        // Preload all classes that were loaded by at least 2 apps, if both
+        // apps run at the same time, they'll share memory.
+        for (LoadedClass loadedClass : root.loadedClasses.values()) {
+            if (!loadedClass.isPreloadable()) {
+                continue;
             }
-            highestRanked.addAll(highestForProc);
+
+            Set<String> appNames = loadedClass.applicationNames();
+
+            if (appNames.size() > 3) {
+                toPreload.add(loadedClass);
+            }
         }
 
-        for (LoadedClass loadedClass : highestRanked) {
+        // Try to make individual apps start faster by preloading slowest
+        // classes.
+        for (Proc proc : root.processes.values()) {
+            toPreload.addAll(proc.highestRankedClasses());
+        }
+
+        System.out.println(toPreload.size() + " classes will be preloaded.");
+
+        // Make classes that were already loaded by the zygote explicit.
+        // This adds minimal overhead but avoid confusion about classes not
+        // appearing in the list.
+        addAllClassesFor("zygote", root, toPreload);
+
+        for (LoadedClass loadedClass : toPreload) {
             out.write(loadedClass.name);
             out.write('\n');
         }
 
         out.close();
 
-        System.out.println(highestRanked.size()
-                + " classes will be preloaded.");
-
         // Update data to reflect LoadedClass.preloaded changes.
-        root.toFile(inputFileName);
+        for (LoadedClass loadedClass : toPreload) {
+            loadedClass.preloaded = true;
+        }
+        root.toFile(rootFile);
+    }
+
+    private static void addAllClassesFor(String packageName, Root root,
+                                         Set<LoadedClass> toPreload) {
+        for (Proc proc : root.processes.values()) {
+            if (proc.name.equals(packageName)) {
+                for (Operation operation : proc.operations) {
+                    // TODO: I'm not sure how the zygote loaded classes that
+                    // aren't supposed to be preloadable...
+                    if (operation.loadedClass.isPreloadable()) {
+                        toPreload.add(operation.loadedClass);
+                    }
+                }
+            }
+        }
     }
 }
diff --git a/tools/preload/preload.iml b/tools/preload/preload.iml
index d1fab57..2d87c55 100644
--- a/tools/preload/preload.iml
+++ b/tools/preload/preload.iml
@@ -1,15 +1,14 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <module relativePaths="true" type="JAVA_MODULE" version="4">
   <component name="NewModuleRootManager" inherit-compiler-output="false">
-    <output url="file:///tmp/preload/" />
+    <output url="file:///tmp/preload" />
+    <output-test url="file:///tmp/preload" />
     <exclude-output />
-    <output-test url="file:///tmp/preload/" />
     <content url="file://$MODULE_DIR$">
       <sourceFolder url="file://$MODULE_DIR$" isTestSource="false" />
     </content>
     <orderEntry type="inheritedJdk" />
     <orderEntry type="sourceFolder" forTests="false" />
-    <orderEntryProperties />
   </component>
 </module>
 
diff --git a/tools/preload/preload.ipr b/tools/preload/preload.ipr
index c5613ad..f78bf76 100644
--- a/tools/preload/preload.ipr
+++ b/tools/preload/preload.ipr
@@ -114,6 +114,7 @@
     <option name="ADDITIONAL_OPTIONS_STRING" value="" />
     <option name="MAXIMUM_HEAP_SIZE" value="128" />
   </component>
+  <component name="Encoding" useUTFGuessing="true" native2AsciiForPropertiesFiles="false" />
   <component name="EntryPointsManager">
     <entry_points version="2.0" />
   </component>
@@ -125,13 +126,13 @@
   <component name="IdProvider" IDEtalkID="D171F99B9178C1675593DC9A76A5CC7E" />
   <component name="InspectionProjectProfileManager">
     <option name="PROJECT_PROFILE" value="Project Default" />
-    <option name="USE_PROJECT_LEVEL_SETTINGS" value="false" />
-    <scopes />
+    <option name="USE_PROJECT_PROFILE" value="true" />
+    <version value="1.0" />
     <profiles>
       <profile version="1.0" is_locked="false">
         <option name="myName" value="Project Default" />
         <option name="myLocal" value="false" />
-        <inspection_tool class="JavaDoc" level="WARNING" enabled="false">
+        <inspection_tool class="JavaDoc" enabled="false" level="WARNING" enabled_by_default="false">
           <option name="TOP_LEVEL_CLASS_OPTIONS">
             <value>
               <option name="ACCESS_JAVADOC_REQUIRED_FOR" value="none" />
@@ -160,14 +161,19 @@
           <option name="IGNORE_JAVADOC_PERIOD" value="true" />
           <option name="myAdditionalJavadocTags" value="" />
         </inspection_tool>
-        <inspection_tool class="OnDemandImport" level="WARNING" enabled="true" />
-        <inspection_tool class="SamePackageImport" level="WARNING" enabled="true" />
-        <inspection_tool class="JavaLangImport" level="WARNING" enabled="true" />
-        <inspection_tool class="RedundantImport" level="WARNING" enabled="true" />
-        <inspection_tool class="UnusedImport" level="WARNING" enabled="true" />
+        <inspection_tool class="JavaLangImport" enabled="true" level="WARNING" enabled_by_default="true" />
+        <inspection_tool class="OnDemandImport" enabled="true" level="WARNING" enabled_by_default="true" />
+        <inspection_tool class="RedundantImport" enabled="true" level="WARNING" enabled_by_default="true" />
+        <inspection_tool class="SamePackageImport" enabled="true" level="WARNING" enabled_by_default="true" />
+        <inspection_tool class="UnusedImport" enabled="true" level="WARNING" enabled_by_default="true" />
       </profile>
     </profiles>
-    <list size="0" />
+    <list size="4">
+      <item index="0" class="java.lang.String" itemvalue="WARNING" />
+      <item index="1" class="java.lang.String" itemvalue="SERVER PROBLEM" />
+      <item index="2" class="java.lang.String" itemvalue="INFO" />
+      <item index="3" class="java.lang.String" itemvalue="ERROR" />
+    </list>
   </component>
   <component name="JavacSettings">
     <option name="DEBUGGING_INFO" value="true" />
@@ -332,13 +338,19 @@
     <option name="USE_CLIENT_FILTER" value="true" />
     <option name="CLIENT" value="" />
   </component>
+  <component name="ProjectDetails">
+    <option name="projectName" value="preload" />
+  </component>
   <component name="ProjectFileVersion" converted="true" />
+  <component name="ProjectKey">
+    <option name="state" value="project:///Volumes/Android/donut/frameworks/base/tools/preload/preload.ipr" />
+  </component>
   <component name="ProjectModuleManager">
     <modules>
       <module fileurl="file://$PROJECT_DIR$/preload.iml" filepath="$PROJECT_DIR$/preload.iml" />
     </modules>
   </component>
-  <component name="ProjectRootManager" version="2" assert-keyword="true" jdk-15="true" project-jdk-name="1.5" project-jdk-type="JavaSDK">
+  <component name="ProjectRootManager" version="2" languageLevel="JDK_1_5" assert-keyword="true" jdk-15="true" project-jdk-name="1.5" project-jdk-type="JavaSDK">
     <output url="file:///tmp/preload" />
   </component>
   <component name="RmicSettings">
@@ -374,6 +386,9 @@
     <option name="myValidatorValidationEnabled" value="true" />
     <option name="myReportErrorsAsWarnings" value="true" />
   </component>
+  <component name="SvnBranchConfigurationManager">
+    <option name="mySupportsUserInfoFilter" value="true" />
+  </component>
   <component name="SvnChangesBrowserSettings">
     <option name="USE_AUTHOR_FIELD" value="true" />
     <option name="AUTHOR" value="" />
@@ -381,15 +396,6 @@
     <option name="USE_PROJECT_SETTINGS" value="true" />
     <option name="USE_ALTERNATE_LOCATION" value="false" />
   </component>
-  <component name="SvnConfiguration">
-    <option name="USER" value="" />
-    <option name="PASSWORD" value="" />
-    <option name="PROCESS_UNRESOLVED" value="false" />
-    <option name="LAST_MERGED_REVISION" />
-    <option name="UPDATE_RUN_STATUS" value="false" />
-    <option name="UPDATE_RECURSIVELY" value="true" />
-    <option name="MERGE_DRY_RUN" value="false" />
-  </component>
   <component name="VCS.FileViewConfiguration">
     <option name="SELECTED_STATUSES" value="DEFAULT" />
     <option name="SELECTED_COLUMNS" value="DEFAULT" />