API Change Statistics

The overall difference between API Levels c-beta1 and c-beta2 is approximately 1.48%.


Total of Differences, by Number and Type

The table below lists the numbers of program elements (packages, classes, constructors, methods, and fields) that were added, changed, or removed. The table includes only the highest-level program elements — that is, if a class with two methods was added, the number of methods added does not include those two methods, but the number of classes added does include that class.

Type Additions Changes Removals Total
Packages 3 53 0 56
Classes and Interfaces 65 203 0 268
Constructors 1 37 0 38
Methods 173 203 0 376
Fields 251 45 0 296
Total 493 541 0 1034

Changed Packages, Sorted by Percentage Difference

Percentage Difference* Package
53 android.adservices.ondevicepersonalization
51 android.net.ssl
26 android.hardware.lights
20 android.ranging.uwb
19 android.ranging
16 android.ranging.raw
10 android.net.nsd
10 android.hardware.display
9 android.companion
9 android.ranging.wifi.rtt
8 android.net.wifi.aware
5 android.net.http
5 android.app
4 android.ranging.oob
3 android.hardware.camera2
3 android.bluetooth
2 android.icu.number
2 android.icu.lang
2 android.security
1 android.hardware.camera2.params
1 android.content
1 android.media.session
<1 android.location
<1 android.hardware.biometrics
<1 android.view
<1 android.health.connect.datatypes
<1 android.provider
<1 android.view.contentcapture
<1 android.telephony
<1 java.util.concurrent.locks
<1 android.icu.text
<1 android.service.chooser
<1 android.net
<1 android.icu.util
<1 android.telecom
<1 android.media
<1 android.print
<1 android.bluetooth.le
<1 android.hardware
<1 android.app.job
<1 android.net.wifi
<1 android.view.inputmethod
<1 android.app.admin
<1 android.os
<1 android.content.pm
<1 android.service.notification
<1 android.graphics
<1 android.view.textclassifier
<1 android
<1 android.app.appsearch
<1 java.util.concurrent
<1 java.util
<1 android.health.connect

* See Calculation of Change Percentages, below.


Changed Classes and Interfaces, Sorted by Percentage Difference

Percentage
Difference*
Class or Interface
87 android.adservices.ondevicepersonalization.IsolatedServiceException
83 android.adservices.ondevicepersonalization.FederatedComputeScheduler
75 android.adservices.ondevicepersonalization.InferenceInput.Builder
64 android.adservices.ondevicepersonalization.OnDevicePersonalizationException
50 android.adservices.ondevicepersonalization.AppInfo
50 android.adservices.ondevicepersonalization.DownloadCompletedInput
50 android.adservices.ondevicepersonalization.DownloadCompletedOutput
50 android.adservices.ondevicepersonalization.DownloadCompletedOutput.Builder
50 android.adservices.ondevicepersonalization.EventInput
50 android.adservices.ondevicepersonalization.EventLogRecord
50 android.adservices.ondevicepersonalization.EventLogRecord.Builder
50 android.adservices.ondevicepersonalization.EventOutput
50 android.adservices.ondevicepersonalization.EventOutput.Builder
50 android.adservices.ondevicepersonalization.EventUrlProvider
50 android.adservices.ondevicepersonalization.ExecuteInIsolatedServiceRequest
50 android.adservices.ondevicepersonalization.ExecuteInIsolatedServiceRequest.Builder
50 android.adservices.ondevicepersonalization.ExecuteInIsolatedServiceRequest.OutputSpec
50 android.adservices.ondevicepersonalization.ExecuteInIsolatedServiceResponse
50 android.adservices.ondevicepersonalization.ExecuteInput
50 android.adservices.ondevicepersonalization.ExecuteOutput
50 android.adservices.ondevicepersonalization.ExecuteOutput.Builder
50 android.adservices.ondevicepersonalization.FederatedComputeInput
50 android.adservices.ondevicepersonalization.FederatedComputeInput.Builder
50 android.adservices.ondevicepersonalization.FederatedComputeScheduleRequest
50 android.adservices.ondevicepersonalization.FederatedComputeScheduleResponse
50 android.adservices.ondevicepersonalization.FederatedComputeScheduler.Params
50 android.adservices.ondevicepersonalization.InferenceInput
50 android.adservices.ondevicepersonalization.InferenceInput.Params
50 android.adservices.ondevicepersonalization.InferenceInput.Params.Builder
50 android.adservices.ondevicepersonalization.InferenceOutput
50 android.adservices.ondevicepersonalization.InferenceOutput.Builder
50 android.adservices.ondevicepersonalization.IsolatedService
50 android.adservices.ondevicepersonalization.IsolatedWorker
50 android.adservices.ondevicepersonalization.KeyValueStore
50 android.adservices.ondevicepersonalization.LogReader
50 android.adservices.ondevicepersonalization.ModelManager
50 android.adservices.ondevicepersonalization.MutableKeyValueStore
50 android.adservices.ondevicepersonalization.OnDevicePersonalizationManager
50 android.adservices.ondevicepersonalization.OnDevicePersonalizationManager.ExecuteResult
50 android.adservices.ondevicepersonalization.RenderInput
50 android.adservices.ondevicepersonalization.RenderOutput
50 android.adservices.ondevicepersonalization.RenderOutput.Builder
50 android.adservices.ondevicepersonalization.RenderingConfig
50 android.adservices.ondevicepersonalization.RenderingConfig.Builder
50 android.adservices.ondevicepersonalization.RequestLogRecord
50 android.adservices.ondevicepersonalization.RequestLogRecord.Builder
50 android.adservices.ondevicepersonalization.TrainingExampleRecord
50 android.adservices.ondevicepersonalization.TrainingExampleRecord.Builder
50 android.adservices.ondevicepersonalization.TrainingExamplesInput
50 android.adservices.ondevicepersonalization.TrainingExamplesOutput
50 android.adservices.ondevicepersonalization.TrainingExamplesOutput.Builder
50 android.adservices.ondevicepersonalization.TrainingInterval
50 android.adservices.ondevicepersonalization.TrainingInterval.Builder
50 android.adservices.ondevicepersonalization.UserData
50 android.adservices.ondevicepersonalization.WebTriggerInput
50 android.adservices.ondevicepersonalization.WebTriggerOutput
50 android.adservices.ondevicepersonalization.WebTriggerOutput.Builder
50 android.net.wifi.aware.PublishDiscoverySession
38 android.net.nsd.DiscoveryRequest.Builder
38 android.security.NetworkSecurityPolicy
36 android.net.nsd.DiscoveryRequest
36 android.icu.text.RelativeDateTimeFormatter.RelativeUnit
33 android.net.wifi.aware.SubscribeDiscoverySession
26 android.hardware.camera2.params.DynamicRangeProfiles
23 android.net.DnsResolver
23 android.telephony.SubscriptionPlan
23 android.telephony.SubscriptionPlan.Builder
20 android.net.nsd.NsdManager.ServiceInfoCallback
20 android.ranging.oob.DeviceHandle.Builder
20 android.view.SurfaceControlViewHost.LayoutParams
18 android.app.Notification.Action
17 android.ranging.SessionConfig
16 android.provider.DocumentsContract.Document
15 android.media.RouteListingPreference
15 android.app.StatusBarManager
15 android.media.session.MediaSessionManager
14 android.app.Notification.ProgressStyle.Point
14 android.app.Notification.ProgressStyle.Segment
14 android.hardware.display.DeviceProductInfo
14 android.hardware.lights.LightsRequest
14 android.icu.number.NumberFormatter
14 android.net.ssl.SSLEngines
14 android.net.ssl.SSLSockets
14 android.ranging.RangingDevice.Builder
12 android.bluetooth.BluetoothDevice
11 android.media.AudioFormat
11 android.location.GnssMeasurement
11 android.hardware.biometrics.BiometricManager.Authenticators
11 android.hardware.camera2.MultiResolutionImageReader
11 android.hardware.camera2.params.MultiResolutionStreamConfigurationMap
11 android.hardware.lights.Light
11 android.hardware.lights.LightsRequest.Builder
11 android.location.GnssStatus
11 android.location.GnssStatus.Builder
11 android.net.wifi.aware.DiscoverySession
11 android.ranging.RangingDevice
11 android.ranging.raw.RawRangingDevice.Builder
10 android.net.wifi.aware.DiscoverySessionCallback
9 android.net.nsd.NsdManager
9 android.companion.DevicePresenceEvent
9 android.app.ActivityManager.AppTask
9 android.hardware.camera2.params.ExtensionSessionConfiguration
9 android.media.RouteListingPreference.Builder
9 android.ranging.oob.DeviceHandle
7 android.app.Notification.Action.Builder
7 android.os.ProfilingTrigger
7 android.ranging.RangingSession.Callback
7 android.ranging.SessionConfig.Builder
7 android.companion.CompanionDeviceManager
7 android.ranging.raw.RawRangingDevice
6 android.media.AudioFormat.Builder
6 android.media.MediaCodecInfo.EncoderCapabilities
6 android.ranging.uwb.UwbRangingCapabilities
6 android.icu.util.MeasureUnit.MeasurePrefix
5 android.content.AttributionSource.Builder
5 android.ranging.RangingManager
5 android.ranging.RangingPreference
5 android.telecom.ConnectionService
5 android.hardware.HardwareBuffer
5 android.net.wifi.aware.AwarePairingConfig
5 android.view.contentcapture.ContentCaptureManager
5 java.util.concurrent.locks.LockSupport
5 android.net.wifi.MloLink
5 android.provider.DocumentsContract.Root
5 android.icu.text.DateIntervalFormat
4 android.graphics.ImageDecoder
4 android.app.ActivityManager.MemoryInfo
4 android.companion.CompanionDeviceService
4 android.net.wifi.aware.WifiAwareManager
4 android.print.PrinterInfo.Builder
4 android.media.AudioTrack.Builder
4 android.service.chooser.ChooserSession
4 android.bluetooth.le.AdvertisingSetParameters
4 android.bluetooth.BluetoothLeAudioCodecConfig.Builder
4 android.ranging.RangingData
3 android.provider.DocumentsProvider
3 android.view.Display.HdrCapabilities
3 android.telephony.SubscriptionInfo
3 java.util.Collections
3 android.view.inputmethod.InputMethod
3 android.app.appsearch.SetSchemaRequest
3 android.icu.number.NumberFormatterSettings
3 android.ranging.oob.OobInitiatorRangingConfig
3 android.provider.DocumentsContract
2 android.media.AudioTrack
2 android.hardware.camera2.CameraExtensionCharacteristics
2 android.net.http.HttpEngine.Builder
2 android.app.ActivityOptions
2 android.view.textclassifier.TextClassifier
2 android.hardware.biometrics.BiometricManager
2 android.icu.text.UnicodeSet
2 android.media.AudioManager
2 android.view.inputmethod.InputMethodManager
2 android.telecom.InCallService
2 java.util.concurrent.Executors
2 android.bluetooth.BluetoothLeAudioCodecConfig
2 android.net.nsd.NsdServiceInfo
2 android.app.admin.DevicePolicyIdentifiers
2 android.app.Notification
2 android.media.AudioDeviceInfo
2 android.telecom.PhoneAccount
1 android.icu.util.CopticCalendar
1 android.media.session.MediaSession
1 android.icu.util.EthiopicCalendar
1 android.graphics.ImageFormat
1 android.content.pm.ServiceInfo
1 android.icu.lang.UProperty
1 android.app.ApplicationExitInfo
1 android.content.pm.PackageInstaller.SessionParams
1 android.app.job.JobScheduler
1 android.provider.MediaStore
1 android.telephony.SubscriptionManager
1 android.icu.util.MeasureUnit
1 android.icu.lang.UCharacter.UnicodeBlock
1 android.icu.lang.UScript
1 android.Manifest.permission
1 android.icu.lang.UCharacter.LineBreak
1 android.icu.util.VersionInfo
<1 android.content.pm.PackageInstaller.SessionInfo
<1 android.view.Display
<1 android.content.Context
<1 android.media.MediaRoute2Info
<1 android.health.connect.datatypes.ExerciseSessionType
<1 android.icu.lang.UCharacter
<1 android.telecom.Call.Details
<1 android.content.Intent
<1 android.media.MediaFormat
<1 android.hardware.camera2.CameraMetadata
<1 android.icu.text.DateFormat
<1 android.service.notification.NotificationListenerService
<1 android.content.pm.PackageManager
<1 android.app.Activity
<1 android.icu.lang.UCharacter.JoiningGroup
<1 android.health.connect.HealthPermissions
<1 android.hardware.camera2.CaptureResult
<1 android.view.View
<1 android.os.UserManager
<1 android.hardware.camera2.CameraCharacteristics
<1 android.app.admin.DevicePolicyManager
<1 android.telephony.CarrierConfigManager
<1 android.R.attr
<1 android.adservices.ondevicepersonalization.RequestToken
<1 android.adservices.ondevicepersonalization.SurfacePackageToken

* See Calculation of Change Percentages, below.


Calculation of Change Percentages

The percent change statistic reported for all elements in the "to" API Level specification is defined recursively as follows:

Percentage difference = 100 * (added + removed + 2*changed)
                        -----------------------------------
                        sum of public elements in BOTH APIs

where added is the number of packages added, removed is the number of packages removed, and changed is the number of packages changed. This definition is applied recursively for the classes and their program elements, so the value for a changed package will be less than 1, unless every class in that package has changed. The definition ensures that if all packages are removed and all new packages are added, the change will be 100%.