summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--core/java/com/android/internal/os/ZygoteInit.java9
-rw-r--r--preloaded-classes1548
-rw-r--r--tools/preload/20090811.compiledbin0 -> 15749051 bytes
-rw-r--r--tools/preload/ClassRank.java2
-rw-r--r--tools/preload/LoadedClass.java40
-rw-r--r--tools/preload/Policy.java56
-rw-r--r--tools/preload/PrintCsv.java33
-rw-r--r--tools/preload/Proc.java49
-rw-r--r--tools/preload/WritePreloadedClassFile.java94
-rw-r--r--tools/preload/preload.iml5
-rw-r--r--tools/preload/preload.ipr44
11 files changed, 1575 insertions, 305 deletions
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 @@ public class ZygoteInit {
} 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
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.ProgressDialog
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.Editable$Factory
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
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.ParagraphStyle
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
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
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.WebHistoryItem
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
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$CharWrapper
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
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.BaseCommands
com.android.internal.telephony.Connection$DisconnectCause
-com.android.internal.telephony.Connection$PostDialState
+com.android.internal.telephony.GsmAlphabet
+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.Phone
-com.android.internal.telephony.Phone$DataActivityState
-com.android.internal.telephony.Phone$DataState
+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.Phone$SuppService
com.android.internal.telephony.PhoneBase
+com.android.internal.telephony.PhoneProxy
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.RIL
+com.android.internal.telephony.SmsMessageBase
com.android.internal.telephony.gsm.GSMPhone
-com.android.internal.telephony.GsmAlphabet
+com.android.internal.telephony.gsm.GsmDataConnectionTracker
com.android.internal.telephony.gsm.GsmMmiCode
-com.android.internal.telephony.gsm.SimCard
-com.android.internal.telephony.ISms$Stub
-com.android.internal.telephony.RIL
-com.android.internal.telephony.ServiceStateTracker
-
-com.android.internal.telephony.gsm.stk.ComprehensionTlvTag
+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.LogManager$3
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.ZipEntry$LittleEndianReader
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.net.www.protocol.jar.JarURLConnection$LRUCompar
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$4
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
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.BasicSchemeFactory
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.protocol.RequestUserAgent
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.X509Extension
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 @@ class ClassRank implements Comparator<Operation> {
* 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 @@ class LoadedClass implements Serializable, Comparable<LoadedClass> {
}
void measureMemoryUsage() {
- this.memoryUsage = MemoryUsage.forClass(name);
+// this.memoryUsage = MemoryUsage.forClass(name);
}
int mlt = -1;
@@ -102,31 +99,20 @@ class LoadedClass implements Serializable, Comparable<LoadedClass> {
}
}
- /**
- * Counts loads by apps.
- */
- int appLoads() {
- return operationsByApps(loads);
- }
-
- /**
- * Counts inits by apps.
- */
- int appInits() {
- return operationsByApps(initializations);
+ /** 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 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 @@ class LoadedClass implements Serializable, Comparable<LoadedClass> {
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 @@ import java.util.Set;
public class Policy {
/**
- * This location (in the build system) of the preloaded-classes file.
- */
- 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.
+ * No constructor - use static methods only
*/
- private static final String SYSTEM_SERVER_PROCESS_NAME = "system_server";
+ private Policy() {}
- /**
- * 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.
+ /**
+ * This location (in the build system) of the preloaded-classes file.
*/
- 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
- ));
+ private static final String PRELOADED_CLASS_FILE
+ = "frameworks/base/preloaded-classes";
- /**
- * 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 @@ public class Policy {
"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 @@ public class Policy {
}
/**
- * 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.IOException;
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 @@ public class PrintCsv {
+ ",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 @@ public class PrintCsv {
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 @@ public class PrintCsv {
} 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.LinkedList;
import java.util.Map;
import java.util.HashMap;
import java.util.Collections;
-import java.util.TreeSet;
import java.io.Serializable;
/**
@@ -38,11 +35,6 @@ class Proc implements Serializable {
*/
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 @@ class Proc implements Serializable {
/**
* 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 @@ class Proc implements Serializable {
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 @@ class Proc implements Serializable {
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 @@ class Proc implements Serializable {
/**
* 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.IOException;
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 @@ import java.util.TreeSet;
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>();
+
+ // 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;
+ }
- System.out.println(proc.name + ": " + highestForProc.size());
+ Set<String> appNames = loadedClass.applicationNames();
- for (LoadedClass loadedClass : highestForProc) {
- loadedClass.preloaded = true;
+ if (appNames.size() > 3) {
+ toPreload.add(loadedClass);
}
- highestRanked.addAll(highestForProc);
}
- 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" />