// Baseline format: 1.0
AcronymName: android.app.NotificationChannel#isImportanceLockedByOEM():
    
AcronymName: android.app.NotificationChannel#setImportanceLockedByOEM(boolean):
    


ActionValue: android.location.Location#EXTRA_NO_GPS_LOCATION:
    
ActionValue: android.net.TetheringManager#ACTION_TETHER_STATE_CHANGED:
    
ActionValue: android.net.TetheringManager#EXTRA_ACTIVE_TETHER:
    
ActionValue: android.net.TetheringManager#EXTRA_AVAILABLE_TETHER:
    
ActionValue: android.net.TetheringManager#EXTRA_ERRORED_TETHER:
    
ActionValue: android.telephony.ims.ImsCallProfile#EXTRA_ADDITIONAL_CALL_INFO:
    
ActionValue: android.telephony.ims.ImsCallProfile#EXTRA_CALL_RAT_TYPE:
    
ActionValue: android.telephony.ims.ImsCallProfile#EXTRA_CHILD_NUMBER:
    
ActionValue: android.telephony.ims.ImsCallProfile#EXTRA_CNA:
    
ActionValue: android.telephony.ims.ImsCallProfile#EXTRA_CNAP:
    
ActionValue: android.telephony.ims.ImsCallProfile#EXTRA_CODEC:
    
ActionValue: android.telephony.ims.ImsCallProfile#EXTRA_DIALSTRING:
    
ActionValue: android.telephony.ims.ImsCallProfile#EXTRA_DISPLAY_TEXT:
    
ActionValue: android.telephony.ims.ImsCallProfile#EXTRA_EMERGENCY_CALL:
    
ActionValue: android.telephony.ims.ImsCallProfile#EXTRA_IS_CALL_PULL:
    
ActionValue: android.telephony.ims.ImsCallProfile#EXTRA_OI:
    
ActionValue: android.telephony.ims.ImsCallProfile#EXTRA_OIR:
    
ActionValue: android.telephony.ims.ImsCallProfile#EXTRA_REMOTE_URI:
    
ActionValue: android.telephony.ims.ImsCallProfile#EXTRA_USSD:
    
ActionValue: android.telephony.ims.ImsReasonInfo#EXTRA_MSG_SERVICE_NOT_AUTHORIZED:
    
ActionValue: android.telephony.mbms.vendor.VendorUtils#ACTION_CLEANUP:
    
ActionValue: android.telephony.mbms.vendor.VendorUtils#ACTION_DOWNLOAD_RESULT_INTERNAL:
    
ActionValue: android.telephony.mbms.vendor.VendorUtils#ACTION_FILE_DESCRIPTOR_REQUEST:
    
ActionValue: android.telephony.mbms.vendor.VendorUtils#EXTRA_FD_COUNT:
    
ActionValue: android.telephony.mbms.vendor.VendorUtils#EXTRA_FINAL_URI:
    
ActionValue: android.telephony.mbms.vendor.VendorUtils#EXTRA_FREE_URI_LIST:
    
ActionValue: android.telephony.mbms.vendor.VendorUtils#EXTRA_PAUSED_LIST:
    
ActionValue: android.telephony.mbms.vendor.VendorUtils#EXTRA_PAUSED_URI_LIST:
    
ActionValue: android.telephony.mbms.vendor.VendorUtils#EXTRA_SERVICE_ID:
    
ActionValue: android.telephony.mbms.vendor.VendorUtils#EXTRA_TEMP_FILES_IN_USE:
    
ActionValue: android.telephony.mbms.vendor.VendorUtils#EXTRA_TEMP_FILE_ROOT:
    
ActionValue: android.telephony.mbms.vendor.VendorUtils#EXTRA_TEMP_LIST:
    


ArrayReturn: android.app.UiAutomation#executeShellCommandRw(String):
    
ArrayReturn: android.hardware.soundtrigger.SoundTrigger.KeyphraseSoundModel#KeyphraseSoundModel(java.util.UUID, java.util.UUID, byte[], android.hardware.soundtrigger.SoundTrigger.Keyphrase[]) parameter #3:
    
ArrayReturn: android.hardware.soundtrigger.SoundTrigger.KeyphraseSoundModel#KeyphraseSoundModel(java.util.UUID, java.util.UUID, byte[], android.hardware.soundtrigger.SoundTrigger.Keyphrase[], int) parameter #3:
    
ArrayReturn: android.hardware.soundtrigger.SoundTrigger.KeyphraseSoundModel#getKeyphrases():
    
ArrayReturn: android.location.GnssMeasurementsEvent#GnssMeasurementsEvent(android.location.GnssClock, android.location.GnssMeasurement[]) parameter #1:
    
ArrayReturn: android.media.AudioRecordingConfiguration#AudioRecordingConfiguration(int, int, int, android.media.AudioFormat, android.media.AudioFormat, int, String, int, boolean, int, android.media.audiofx.AudioEffect.Descriptor[], android.media.audiofx.AudioEffect.Descriptor[]) parameter #10:
    
ArrayReturn: android.media.AudioRecordingConfiguration#AudioRecordingConfiguration(int, int, int, android.media.AudioFormat, android.media.AudioFormat, int, String, int, boolean, int, android.media.audiofx.AudioEffect.Descriptor[], android.media.audiofx.AudioEffect.Descriptor[]) parameter #11:
    
ArrayReturn: android.metrics.LogMaker#LogMaker(Object[]) parameter #0:
    
ArrayReturn: android.metrics.LogMaker#deserialize(Object[]) parameter #0:
    
ArrayReturn: android.metrics.LogMaker#serialize():
    
ArrayReturn: android.net.TestNetworkManager#createTunInterface(android.net.LinkAddress[]) parameter #0:
    
ArrayReturn: android.os.HwBlob#wrapArray(boolean[]):
    
ArrayReturn: android.os.HwBlob#wrapArray(byte[]):
    
ArrayReturn: android.os.HwBlob#wrapArray(double[]):
    
ArrayReturn: android.os.HwBlob#wrapArray(float[]):
    
ArrayReturn: android.os.HwBlob#wrapArray(int[]):
    
ArrayReturn: android.os.HwBlob#wrapArray(long[]):
    
ArrayReturn: android.os.HwBlob#wrapArray(short[]):
    
ArrayReturn: android.os.NativeHandle#NativeHandle(java.io.FileDescriptor[], int[], boolean) parameter #0:
    
ArrayReturn: android.os.NativeHandle#getFileDescriptors():
    
ArrayReturn: android.security.keystore.AttestationUtils#attestDeviceIds(android.content.Context, int[], byte[]):
    
ArrayReturn: android.telephony.ims.ImsUtListener#onUtConfigurationCallBarringQueried(int, android.telephony.ims.ImsSsInfo[]) parameter #1:
    
ArrayReturn: android.telephony.ims.ImsUtListener#onUtConfigurationCallForwardQueried(int, android.telephony.ims.ImsCallForwardInfo[]) parameter #1:
    
ArrayReturn: android.telephony.ims.ImsUtListener#onUtConfigurationCallWaitingQueried(int, android.telephony.ims.ImsSsInfo[]) parameter #1:
    
ArrayReturn: android.telephony.ims.stub.ImsRegistrationImplBase#onSubscriberAssociatedUriChanged(android.net.Uri[]) parameter #0:
    
ArrayReturn: android.view.Display#getSupportedWideColorGamut():
    
ArrayReturn: android.view.FocusFinder#sort(android.view.View[], int, int, android.view.ViewGroup, boolean) parameter #0:
    
ArrayReturn: android.view.contentcapture.ViewNode#getAutofillOptions():
    
ArrayReturn: android.view.contentcapture.ViewNode.ViewStructureImpl#setAutofillOptions(CharSequence[]) parameter #0:
    
ArrayReturn: android.view.inspector.InspectableProperty#enumMapping():
    
ArrayReturn: android.view.inspector.InspectableProperty#flagMapping():
    


AutoBoxing: android.os.HwBlob#wrapArray(byte[]):
    
AutoBoxing: android.os.HwBlob#wrapArray(double[]):
    
AutoBoxing: android.os.HwBlob#wrapArray(float[]):
    
AutoBoxing: android.os.HwBlob#wrapArray(int[]):
    
AutoBoxing: android.os.HwBlob#wrapArray(long[]):
    
AutoBoxing: android.os.HwBlob#wrapArray(short[]):
    
AutoBoxing: android.os.VintfObject#getTargetFrameworkCompatibilityMatrixVersion():
    


BannedThrow: android.app.ActivityTaskManager#removeStacksInWindowingModes(int[]):
    
BannedThrow: android.app.ActivityTaskManager#removeStacksWithActivityTypes(int[]):
    
BannedThrow: android.app.ActivityTaskManager#setTaskWindowingMode(int, int, boolean):
    
BannedThrow: android.app.ActivityTaskManager#setTaskWindowingModeSplitScreenPrimary(int, int, boolean, boolean, android.graphics.Rect, boolean):
    
BannedThrow: android.media.audiofx.AudioEffect#getParameter(byte[], byte[]):
    
BannedThrow: android.media.audiofx.AudioEffect#getParameter(int, byte[]):
    
BannedThrow: android.media.audiofx.AudioEffect#getParameter(int, int[]):
    
BannedThrow: android.media.audiofx.AudioEffect#getParameter(int, short[]):
    
BannedThrow: android.media.audiofx.AudioEffect#getParameter(int[], short[]):
    
BannedThrow: android.media.audiofx.AudioEffect#setParameter(byte[], byte[]):
    
BannedThrow: android.media.audiofx.AudioEffect#setParameter(int, byte[]):
    
BannedThrow: android.media.audiofx.AudioEffect#setParameter(int, int):
    
BannedThrow: android.media.audiofx.AudioEffect#setParameter(int, short):
    
BannedThrow: android.media.audiofx.AudioEffect#setParameter(int[], byte[]):
    
BannedThrow: android.media.audiofx.AudioEffect#setParameter(int[], int[]):
    
BannedThrow: android.media.audiopolicy.AudioMix.Builder#Builder(android.media.audiopolicy.AudioMixingRule):
    
BannedThrow: android.media.audiopolicy.AudioMix.Builder#build():
    
BannedThrow: android.media.audiopolicy.AudioMix.Builder#setDevice(android.media.AudioDeviceInfo):
    
BannedThrow: android.media.audiopolicy.AudioMix.Builder#setFormat(android.media.AudioFormat):
    
BannedThrow: android.media.audiopolicy.AudioMix.Builder#setRouteFlags(int):
    
BannedThrow: android.media.audiopolicy.AudioMixingRule.Builder#addMixRule(int, Object):
    
BannedThrow: android.media.audiopolicy.AudioMixingRule.Builder#addRule(android.media.AudioAttributes, int):
    
BannedThrow: android.media.audiopolicy.AudioMixingRule.Builder#excludeMixRule(int, Object):
    
BannedThrow: android.media.audiopolicy.AudioMixingRule.Builder#excludeRule(android.media.AudioAttributes, int):
    
BannedThrow: android.media.audiopolicy.AudioPolicy#createAudioRecordSink(android.media.audiopolicy.AudioMix):
    
BannedThrow: android.media.audiopolicy.AudioPolicy#createAudioTrackSource(android.media.audiopolicy.AudioMix):
    
BannedThrow: android.media.audiopolicy.AudioPolicy#setFocusDuckingBehavior(int):
    
BannedThrow: android.media.audiopolicy.AudioPolicy.Builder#addMix(android.media.audiopolicy.AudioMix):
    
BannedThrow: android.media.audiopolicy.AudioPolicy.Builder#setLooper(android.os.Looper):
    
BannedThrow: android.os.HwBinder#getService(String, String):
    
BannedThrow: android.os.HwBinder#getService(String, String, boolean):
    
BannedThrow: android.os.Process#getThreadScheduler(int):
    


BuilderSetStyle: android.media.audiopolicy.AudioMixingRule.Builder#allowPrivilegedPlaybackCapture(boolean):
    
BuilderSetStyle: android.media.audiopolicy.AudioMixingRule.Builder#excludeMixRule(int, Object):
    
BuilderSetStyle: android.media.audiopolicy.AudioMixingRule.Builder#excludeRule(android.media.AudioAttributes, int):
    
BuilderSetStyle: android.net.NetworkCapabilities.Builder#removeCapability(int):
    
BuilderSetStyle: android.net.NetworkCapabilities.Builder#removeTransportType(int):
    
BuilderSetStyle: android.net.metrics.RaEvent.Builder#updateDnsslLifetime(long):
    
BuilderSetStyle: android.net.metrics.RaEvent.Builder#updatePrefixPreferredLifetime(long):
    
BuilderSetStyle: android.net.metrics.RaEvent.Builder#updatePrefixValidLifetime(long):
    
BuilderSetStyle: android.net.metrics.RaEvent.Builder#updateRdnssLifetime(long):
    
BuilderSetStyle: android.net.metrics.RaEvent.Builder#updateRouteInfoLifetime(long):
    
BuilderSetStyle: android.net.metrics.RaEvent.Builder#updateRouterLifetime(long):
    
BuilderSetStyle: android.os.StrictMode.ThreadPolicy.Builder#detectExplicitGc():
    
BuilderSetStyle: android.os.StrictMode.VmPolicy.Builder#detectIncorrectContextUse():
    
BuilderSetStyle: android.os.StrictMode.VmPolicy.Builder#permitIncorrectContextUse():
    


CallbackInterface: android.app.prediction.AppPredictor.Callback:
    
CallbackInterface: android.permission.PermissionControllerManager.OnGetAppPermissionResultCallback:
    
CallbackInterface: android.widget.Magnifier.Callback:
    


CallbackMethodName: android.os.RemoteCallback:
    


ConcreteCollection: android.content.AutofillOptions#disabledActivities:
    
ConcreteCollection: android.content.AutofillOptions#whitelistedActivitiesForAugmentedAutofill:
    
ConcreteCollection: android.content.ContentCaptureOptions#ContentCaptureOptions(int, int, int, int, int, android.util.ArraySet<android.content.ComponentName>) parameter #5:
    
ConcreteCollection: android.content.ContentCaptureOptions#whitelistedComponents:
    
ConcreteCollection: android.database.sqlite.SQLiteDebug.PagerStats#dbStats:
    
ConcreteCollection: android.os.HwParcel#readBoolVector():
    
ConcreteCollection: android.os.HwParcel#readDoubleVector():
    
ConcreteCollection: android.os.HwParcel#readFloatVector():
    
ConcreteCollection: android.os.HwParcel#readInt16Vector():
    
ConcreteCollection: android.os.HwParcel#readInt32Vector():
    
ConcreteCollection: android.os.HwParcel#readInt64Vector():
    
ConcreteCollection: android.os.HwParcel#readInt8Vector():
    
ConcreteCollection: android.os.HwParcel#readNativeHandleVector():
    
ConcreteCollection: android.os.HwParcel#readStringVector():
    
ConcreteCollection: android.os.HwParcel#writeBoolVector(java.util.ArrayList<java.lang.Boolean>) parameter #0:
    
ConcreteCollection: android.os.HwParcel#writeDoubleVector(java.util.ArrayList<java.lang.Double>) parameter #0:
    
ConcreteCollection: android.os.HwParcel#writeFloatVector(java.util.ArrayList<java.lang.Float>) parameter #0:
    
ConcreteCollection: android.os.HwParcel#writeInt16Vector(java.util.ArrayList<java.lang.Short>) parameter #0:
    
ConcreteCollection: android.os.HwParcel#writeInt32Vector(java.util.ArrayList<java.lang.Integer>) parameter #0:
    
ConcreteCollection: android.os.HwParcel#writeInt64Vector(java.util.ArrayList<java.lang.Long>) parameter #0:
    
ConcreteCollection: android.os.HwParcel#writeInt8Vector(java.util.ArrayList<java.lang.Byte>) parameter #0:
    
ConcreteCollection: android.os.HwParcel#writeNativeHandleVector(java.util.ArrayList<android.os.NativeHandle>) parameter #0:
    
ConcreteCollection: android.os.HwParcel#writeStringVector(java.util.ArrayList<java.lang.String>) parameter #0:
    
ConcreteCollection: android.service.autofill.CompositeUserData#getFieldClassificationAlgorithms():
    
ConcreteCollection: android.service.autofill.CompositeUserData#getFieldClassificationArgs():
    
ConcreteCollection: android.service.autofill.InternalTransformation#batchApply(android.service.autofill.ValueFinder, android.widget.RemoteViews, java.util.ArrayList<android.util.Pair<java.lang.Integer,android.service.autofill.InternalTransformation>>) parameter #2:
    
ConcreteCollection: android.service.autofill.UserData#getFieldClassificationAlgorithms():
    
ConcreteCollection: android.telephony.ims.ImsConferenceState#mParticipants:
    


ContextFirst: android.os.VibrationEffect#get(android.net.Uri, android.content.Context) parameter #1:
    


ContextNameSuffix: android.telephony.mbms.vendor.MbmsGroupCallServiceBase:
    


EndsWithImpl: android.view.contentcapture.ViewNode.ViewStructureImpl:
    


Enum: android.view.inspector.InspectableProperty.ValueType:
    


EqualsAndHashCode: android.app.prediction.AppPredictionContext#equals(Object):
    
EqualsAndHashCode: android.app.prediction.AppTarget#equals(Object):
    
EqualsAndHashCode: android.app.prediction.AppTargetEvent#equals(Object):
    
EqualsAndHashCode: android.net.apf.ApfCapabilities#equals(Object):
    
EqualsAndHashCode: android.net.metrics.ApfProgramEvent#equals(Object):
    
EqualsAndHashCode: android.net.metrics.ApfStats#equals(Object):
    
EqualsAndHashCode: android.net.metrics.DhcpClientEvent#equals(Object):
    
EqualsAndHashCode: android.net.metrics.IpManagerEvent#equals(Object):
    
EqualsAndHashCode: android.net.metrics.IpReachabilityEvent#equals(Object):
    
EqualsAndHashCode: android.net.metrics.NetworkEvent#equals(Object):
    
EqualsAndHashCode: android.net.metrics.RaEvent#equals(Object):
    
EqualsAndHashCode: android.net.metrics.ValidationProbeEvent#equals(Object):
    
EqualsAndHashCode: android.os.IncidentManager.PendingReport#equals(Object):
    
EqualsAndHashCode: android.os.StrictMode.ViolationInfo#hashCode():
    


ExecutorRegistration: android.content.pm.PackageManager#addOnPermissionsChangeListener(android.content.pm.PackageManager.OnPermissionsChangedListener):
    
ExecutorRegistration: android.hardware.camera2.CameraDevice#createCustomCaptureSession(android.hardware.camera2.params.InputConfiguration, java.util.List<android.hardware.camera2.params.OutputConfiguration>, int, android.hardware.camera2.CameraCaptureSession.StateCallback, android.os.Handler):
    
ExecutorRegistration: android.media.audiofx.AudioEffect#setParameterListener(android.media.audiofx.AudioEffect.OnParameterChangeListener):
    
ExecutorRegistration: android.media.audiopolicy.AudioPolicy.Builder#setAudioPolicyFocusListener(android.media.audiopolicy.AudioPolicy.AudioPolicyFocusListener):
    
ExecutorRegistration: android.media.audiopolicy.AudioPolicy.Builder#setAudioPolicyStatusListener(android.media.audiopolicy.AudioPolicy.AudioPolicyStatusListener):
    
ExecutorRegistration: android.media.audiopolicy.AudioPolicy.Builder#setAudioPolicyVolumeCallback(android.media.audiopolicy.AudioPolicy.AudioPolicyVolumeCallback):
    
ExecutorRegistration: android.os.IncidentManager#cancelAuthorization(android.os.IncidentManager.AuthListener):
    
ExecutorRegistration: android.os.IncidentManager#requestAuthorization(int, String, int, android.os.IncidentManager.AuthListener):
    
ExecutorRegistration: android.os.RemoteCallback#RemoteCallback(android.os.RemoteCallback.OnResultListener, android.os.Handler):
    
ExecutorRegistration: android.permission.PermissionControllerManager#countPermissionApps(java.util.List<java.lang.String>, int, android.permission.PermissionControllerManager.OnCountPermissionAppsResultCallback, android.os.Handler):
    
ExecutorRegistration: android.permission.PermissionControllerManager#getAppPermissions(String, android.permission.PermissionControllerManager.OnGetAppPermissionResultCallback, android.os.Handler):
    
ExecutorRegistration: android.service.watchdog.ExplicitHealthCheckService#setCallback(android.os.RemoteCallback):
    
ExecutorRegistration: android.telephony.ims.stub.ImsCallSessionImplBase#setListener(android.telephony.ims.ImsCallSessionListener):
    
ExecutorRegistration: android.telephony.ims.stub.ImsUtImplBase#setListener(android.telephony.ims.ImsUtListener):
    
ExecutorRegistration: android.telephony.mbms.vendor.MbmsDownloadServiceBase#addProgressListener(android.telephony.mbms.DownloadRequest, android.telephony.mbms.DownloadProgressListener):
    
ExecutorRegistration: android.telephony.mbms.vendor.MbmsDownloadServiceBase#addStatusListener(android.telephony.mbms.DownloadRequest, android.telephony.mbms.DownloadStatusListener):
    
ExecutorRegistration: android.telephony.mbms.vendor.MbmsDownloadServiceBase#initialize(int, android.telephony.mbms.MbmsDownloadSessionCallback):
    
ExecutorRegistration: android.telephony.mbms.vendor.MbmsGroupCallServiceBase#initialize(android.telephony.mbms.MbmsGroupCallSessionCallback, int):
    
ExecutorRegistration: android.telephony.mbms.vendor.MbmsGroupCallServiceBase#startGroupCall(int, long, java.util.List<java.lang.Integer>, java.util.List<java.lang.Integer>, android.telephony.mbms.GroupCallCallback):
    
ExecutorRegistration: android.telephony.mbms.vendor.MbmsStreamingServiceBase#initialize(android.telephony.mbms.MbmsStreamingSessionCallback, int):
    
ExecutorRegistration: android.telephony.mbms.vendor.MbmsStreamingServiceBase#startStreaming(int, String, android.telephony.mbms.StreamingServiceCallback):
    
ExecutorRegistration: android.window.WindowOrganizer#applySyncTransaction(android.window.WindowContainerTransaction, android.window.WindowContainerTransactionCallback):
    


ForbiddenSuperClass: android.app.AppDetailsActivity:
    


GenericException: android.app.ActivityView#finalize():
    
GenericException: android.app.prediction.AppPredictor#finalize():
    
GenericException: android.service.autofill.CharSequenceTransformation#apply(android.service.autofill.ValueFinder, android.widget.RemoteViews, int):
    
GenericException: android.service.autofill.DateTransformation#apply(android.service.autofill.ValueFinder, android.widget.RemoteViews, int):
    
GenericException: android.service.autofill.ImageTransformation#apply(android.service.autofill.ValueFinder, android.widget.RemoteViews, int):
    
GenericException: android.service.autofill.augmented.FillWindow#finalize():
    


GetterOnBuilder: android.hardware.display.BrightnessConfiguration.Builder#getMaxCorrectionsByCategory():
    
GetterOnBuilder: android.hardware.display.BrightnessConfiguration.Builder#getMaxCorrectionsByPackageName():
    


GetterSetterNames: android.app.NotificationChannel#isBlockableSystem():
    
GetterSetterNames: android.app.NotificationChannel#isImportanceLockedByCriticalDeviceFunction():
    
GetterSetterNames: android.app.NotificationChannel#isImportanceLockedByOEM():
    
GetterSetterNames: android.location.GnssClock#setBiasNanos(double):
    
GetterSetterNames: android.location.GnssClock#setBiasUncertaintyNanos(double):
    
GetterSetterNames: android.location.GnssClock#setDriftNanosPerSecond(double):
    
GetterSetterNames: android.location.GnssClock#setDriftUncertaintyNanosPerSecond(double):
    
GetterSetterNames: android.location.GnssClock#setElapsedRealtimeNanos(long):
    
GetterSetterNames: android.location.GnssClock#setElapsedRealtimeUncertaintyNanos(double):
    
GetterSetterNames: android.location.GnssClock#setFullBiasNanos(long):
    
GetterSetterNames: android.location.GnssClock#setLeapSecond(int):
    
GetterSetterNames: android.location.GnssClock#setReferenceCarrierFrequencyHzForIsb(double):
    
GetterSetterNames: android.location.GnssClock#setReferenceCodeTypeForIsb(String):
    
GetterSetterNames: android.location.GnssClock#setReferenceConstellationTypeForIsb(int):
    
GetterSetterNames: android.location.GnssClock#setTimeUncertaintyNanos(double):
    
GetterSetterNames: android.location.GnssMeasurement#setBasebandCn0DbHz(double):
    
GetterSetterNames: android.location.GnssMeasurement#setCarrierFrequencyHz(float):
    
GetterSetterNames: android.location.GnssMeasurement#setCodeType(String):
    
GetterSetterNames: android.location.GnssMeasurement#setFullInterSignalBiasNanos(double):
    
GetterSetterNames: android.location.GnssMeasurement#setFullInterSignalBiasUncertaintyNanos(double):
    
GetterSetterNames: android.location.GnssMeasurement#setSatelliteInterSignalBiasNanos(double):
    
GetterSetterNames: android.location.GnssMeasurement#setSatelliteInterSignalBiasUncertaintyNanos(double):
    
GetterSetterNames: android.location.GnssMeasurement#setSnrInDb(double):
    
GetterSetterNames: android.location.LocationRequest#isLocationSettingsIgnored():
    
GetterSetterNames: android.location.LocationRequest#isLowPowerMode():
    
GetterSetterNames: android.os.IncidentReportArgs#isAll():
    
GetterSetterNames: android.service.notification.NotificationStats#setDirectReplied():
    
GetterSetterNames: android.service.notification.NotificationStats#setExpanded():
    
GetterSetterNames: android.service.notification.NotificationStats#setSeen():
    
GetterSetterNames: android.service.notification.NotificationStats#setSnoozed():
    
GetterSetterNames: android.service.notification.NotificationStats#setViewedSettings():
    
GetterSetterNames: android.view.View#isAutofilled():
    
GetterSetterNames: android.view.View#isDefaultFocusHighlightEnabled():
    


IllegalStateException: android.media.audiopolicy.AudioMix.Builder#build():
    


IntentBuilderName: android.app.backup.BackupManager#getConfigurationIntent(String):
    
IntentBuilderName: android.app.backup.BackupManager#getDataManagementIntent(String):
    
IntentBuilderName: android.hardware.soundtrigger.KeyphraseEnrollmentInfo#getManageKeyphraseIntent(int, String, java.util.Locale):
    


IntentName: android.provider.Settings.Secure#VOICE_INTERACTION_SERVICE:
    
IntentName: android.provider.Telephony.Sms.Intents#SMS_CARRIER_PROVISION_ACTION:
    
IntentName: android.service.notification.Adjustment#KEY_CONTEXTUAL_ACTIONS:
    


InterfaceConstant: android.service.autofill.AutofillFieldClassificationService#SERVICE_INTERFACE:
    
InterfaceConstant: android.service.autofill.augmented.AugmentedAutofillService#SERVICE_INTERFACE:
    
InterfaceConstant: android.service.contentcapture.ContentCaptureService#SERVICE_INTERFACE:
    
InterfaceConstant: android.service.notification.NotificationAssistantService#SERVICE_INTERFACE:
    
InterfaceConstant: android.telecom.PhoneAccountSuggestionService#SERVICE_INTERFACE:
    


InternalField: android.telephony.ims.ImsConferenceState#mParticipants:
    


KotlinOperator: android.os.WorkSource#get(int):
    
KotlinOperator: android.util.SparseArrayMap#get(int, String):
    


ListenerInterface: android.media.audiopolicy.AudioPolicy.AudioPolicyFocusListener:
    
ListenerInterface: android.media.audiopolicy.AudioPolicy.AudioPolicyStatusListener:
    
ListenerInterface: android.os.IncidentManager.AuthListener:
    
ListenerInterface: android.telephony.ims.ImsCallSessionListener:
    
ListenerInterface: android.telephony.ims.ImsUtListener:
    


ListenerLast: android.hardware.camera2.CameraDevice#createCustomCaptureSession(android.hardware.camera2.params.InputConfiguration, java.util.List<android.hardware.camera2.params.OutputConfiguration>, int, android.hardware.camera2.CameraCaptureSession.StateCallback, android.os.Handler) parameter #4:
    
ListenerLast: android.location.LocationManager#requestLocationUpdates(android.location.LocationRequest, android.location.LocationListener, android.os.Looper) parameter #2:
    
ListenerLast: android.permission.PermissionControllerManager#countPermissionApps(java.util.List<java.lang.String>, int, android.permission.PermissionControllerManager.OnCountPermissionAppsResultCallback, android.os.Handler) parameter #3:
    
ListenerLast: android.permission.PermissionControllerManager#getAppPermissions(String, android.permission.PermissionControllerManager.OnGetAppPermissionResultCallback, android.os.Handler) parameter #2:
    
ListenerLast: android.telephony.mbms.vendor.MbmsGroupCallServiceBase#initialize(android.telephony.mbms.MbmsGroupCallSessionCallback, int) parameter #1:
    
ListenerLast: android.telephony.mbms.vendor.MbmsStreamingServiceBase#initialize(android.telephony.mbms.MbmsStreamingSessionCallback, int) parameter #1:
    


ManagerConstructor: android.content.pm.ShortcutManager#ShortcutManager(android.content.Context):
    


ManagerLookup: android.telephony.ims.ImsMmTelManager#createForSubscriptionId(int):
    
ManagerLookup: android.telephony.ims.ProvisioningManager#createForSubscriptionId(int):
    


MethodNameTense: android.telephony.ims.feature.CapabilityChangeRequest#getCapabilitiesToEnable():
    


MethodNameUnits: android.telephony.ims.ImsCallForwardInfo#getTimeSeconds():
    


MinMaxConstant: android.os.UserHandle#MIN_SECONDARY_USER_ID:
    
MinMaxConstant: android.view.autofill.AutofillManager#MAX_TEMP_AUGMENTED_SERVICE_DURATION_MS:
    


MissingGetterMatchingBuilder: android.app.ActivityView.Builder#setAttributeSet(android.util.AttributeSet):
    android.app.ActivityView does not declare a `getAttributeSet()` method matching method android.app.ActivityView.Builder.setAttributeSet(android.util.AttributeSet)
MissingGetterMatchingBuilder: android.app.ActivityView.Builder#setDefaultStyle(int):
    android.app.ActivityView does not declare a `getDefaultStyle()` method matching method android.app.ActivityView.Builder.setDefaultStyle(int)
MissingGetterMatchingBuilder: android.app.ActivityView.Builder#setDisableSurfaceViewBackgroundLayer(boolean):
    android.app.ActivityView does not declare a `isDisableSurfaceViewBackgroundLayer()` method matching method android.app.ActivityView.Builder.setDisableSurfaceViewBackgroundLayer(boolean)
MissingGetterMatchingBuilder: android.app.ActivityView.Builder#setSingleInstance(boolean):
    android.app.ActivityView does not declare a `isSingleInstance()` method matching method android.app.ActivityView.Builder.setSingleInstance(boolean)
MissingGetterMatchingBuilder: android.app.ActivityView.Builder#setUsePublicVirtualDisplay(boolean):
    android.app.ActivityView does not declare a `isUsePublicVirtualDisplay()` method matching method android.app.ActivityView.Builder.setUsePublicVirtualDisplay(boolean)
MissingGetterMatchingBuilder: android.app.ActivityView.Builder#setUseTrustedDisplay(boolean):
    android.app.ActivityView does not declare a `isUseTrustedDisplay()` method matching method android.app.ActivityView.Builder.setUseTrustedDisplay(boolean)
MissingGetterMatchingBuilder: android.app.AppOpsManager.HistoricalOpsRequest.Builder#setAttributionTag(String):
    
MissingGetterMatchingBuilder: android.app.AppOpsManager.HistoricalOpsRequest.Builder#setFlags(int):
    
MissingGetterMatchingBuilder: android.app.AppOpsManager.HistoricalOpsRequest.Builder#setOpNames(java.util.List<java.lang.String>):
    
MissingGetterMatchingBuilder: android.app.AppOpsManager.HistoricalOpsRequest.Builder#setPackageName(String):
    
MissingGetterMatchingBuilder: android.app.AppOpsManager.HistoricalOpsRequest.Builder#setUid(int):
    
MissingGetterMatchingBuilder: android.content.integrity.RuleSet.Builder#addRules(java.util.List<android.content.integrity.Rule>):
    
MissingGetterMatchingBuilder: android.hardware.display.BrightnessConfiguration.Builder#addCorrectionByCategory(int, android.hardware.display.BrightnessCorrection):
    
MissingGetterMatchingBuilder: android.hardware.display.BrightnessConfiguration.Builder#addCorrectionByPackageName(String, android.hardware.display.BrightnessCorrection):
    
MissingGetterMatchingBuilder: android.hardware.display.BrightnessConfiguration.Builder#setDescription(String):
    
MissingGetterMatchingBuilder: android.hardware.lights.LightsRequest.Builder#setLight(android.hardware.lights.Light, android.hardware.lights.LightState):
    
MissingGetterMatchingBuilder: android.media.VolumeShaper.Configuration.Builder#setOptionFlags(int):
    
MissingGetterMatchingBuilder: android.media.audiopolicy.AudioMix.Builder#setDevice(android.media.AudioDeviceInfo):
    
MissingGetterMatchingBuilder: android.media.audiopolicy.AudioMix.Builder#setFormat(android.media.AudioFormat):
    
MissingGetterMatchingBuilder: android.media.audiopolicy.AudioMix.Builder#setRouteFlags(int):
    
MissingGetterMatchingBuilder: android.media.audiopolicy.AudioMixingRule.Builder#addMixRule(int, Object):
    
MissingGetterMatchingBuilder: android.media.audiopolicy.AudioMixingRule.Builder#addRule(android.media.AudioAttributes, int):
    
MissingGetterMatchingBuilder: android.media.audiopolicy.AudioPolicy.Builder#addMix(android.media.audiopolicy.AudioMix):
    
MissingGetterMatchingBuilder: android.media.audiopolicy.AudioPolicy.Builder#setAudioPolicyFocusListener(android.media.audiopolicy.AudioPolicy.AudioPolicyFocusListener):
    
MissingGetterMatchingBuilder: android.media.audiopolicy.AudioPolicy.Builder#setAudioPolicyStatusListener(android.media.audiopolicy.AudioPolicy.AudioPolicyStatusListener):
    
MissingGetterMatchingBuilder: android.media.audiopolicy.AudioPolicy.Builder#setAudioPolicyVolumeCallback(android.media.audiopolicy.AudioPolicy.AudioPolicyVolumeCallback):
    
MissingGetterMatchingBuilder: android.media.audiopolicy.AudioPolicy.Builder#setIsAudioFocusPolicy(boolean):
    
MissingGetterMatchingBuilder: android.media.audiopolicy.AudioPolicy.Builder#setIsTestFocusPolicy(boolean):
    
MissingGetterMatchingBuilder: android.media.audiopolicy.AudioPolicy.Builder#setLooper(android.os.Looper):
    
MissingGetterMatchingBuilder: android.net.CaptivePortalData.Builder#setBytesRemaining(long):
    
MissingGetterMatchingBuilder: android.net.CaptivePortalData.Builder#setExpiryTime(long):
    
MissingGetterMatchingBuilder: android.net.CaptivePortalData.Builder#setRefreshTime(long):
    
MissingGetterMatchingBuilder: android.net.NetworkCapabilities.Builder#addCapability(int):
    
MissingGetterMatchingBuilder: android.net.NetworkCapabilities.Builder#setRequestorPackageName(String):
    
MissingGetterMatchingBuilder: android.net.NetworkCapabilities.Builder#setRequestorUid(int):
    
MissingGetterMatchingBuilder: android.net.TetheringManager.TetheringRequest.Builder#setShouldShowEntitlementUi(boolean):
    
MissingGetterMatchingBuilder: android.net.TetheringManager.TetheringRequest.Builder#setStaticIpv4Addresses(android.net.LinkAddress, android.net.LinkAddress):
    
MissingGetterMatchingBuilder: android.net.metrics.ApfProgramEvent.Builder#setActualLifetime(long):
    
MissingGetterMatchingBuilder: android.net.metrics.ApfProgramEvent.Builder#setCurrentRas(int):
    
MissingGetterMatchingBuilder: android.net.metrics.ApfProgramEvent.Builder#setFilteredRas(int):
    
MissingGetterMatchingBuilder: android.net.metrics.ApfProgramEvent.Builder#setFlags(boolean, boolean):
    
MissingGetterMatchingBuilder: android.net.metrics.ApfProgramEvent.Builder#setLifetime(long):
    
MissingGetterMatchingBuilder: android.net.metrics.ApfProgramEvent.Builder#setProgramLength(int):
    
MissingGetterMatchingBuilder: android.net.metrics.ApfStats.Builder#setDroppedRas(int):
    
MissingGetterMatchingBuilder: android.net.metrics.ApfStats.Builder#setDurationMs(long):
    
MissingGetterMatchingBuilder: android.net.metrics.ApfStats.Builder#setMatchingRas(int):
    
MissingGetterMatchingBuilder: android.net.metrics.ApfStats.Builder#setMaxProgramSize(int):
    
MissingGetterMatchingBuilder: android.net.metrics.ApfStats.Builder#setParseErrors(int):
    
MissingGetterMatchingBuilder: android.net.metrics.ApfStats.Builder#setProgramUpdates(int):
    
MissingGetterMatchingBuilder: android.net.metrics.ApfStats.Builder#setProgramUpdatesAll(int):
    
MissingGetterMatchingBuilder: android.net.metrics.ApfStats.Builder#setProgramUpdatesAllowingMulticast(int):
    
MissingGetterMatchingBuilder: android.net.metrics.ApfStats.Builder#setReceivedRas(int):
    
MissingGetterMatchingBuilder: android.net.metrics.ApfStats.Builder#setZeroLifetimeRas(int):
    
MissingGetterMatchingBuilder: android.net.metrics.DhcpClientEvent.Builder#setDurationMs(int):
    
MissingGetterMatchingBuilder: android.net.metrics.DhcpClientEvent.Builder#setMsg(String):
    
MissingGetterMatchingBuilder: android.net.metrics.ValidationProbeEvent.Builder#setDurationMs(long):
    
MissingGetterMatchingBuilder: android.net.metrics.ValidationProbeEvent.Builder#setProbeType(int, boolean):
    
MissingGetterMatchingBuilder: android.net.metrics.ValidationProbeEvent.Builder#setReturnCode(int):
    
MissingGetterMatchingBuilder: android.security.keystore.KeyGenParameterSpec.Builder#setUniqueIdIncluded(boolean):
    
MissingGetterMatchingBuilder: android.service.autofill.Dataset.Builder#setFieldInlinePresentation(android.view.autofill.AutofillId, android.view.autofill.AutofillValue, java.util.regex.Pattern, android.service.autofill.InlinePresentation):
    
MissingGetterMatchingBuilder: android.service.autofill.augmented.FillResponse.Builder#setClientState(android.os.Bundle):
    
MissingGetterMatchingBuilder: android.service.autofill.augmented.FillResponse.Builder#setFillWindow(android.service.autofill.augmented.FillWindow):
    
MissingGetterMatchingBuilder: android.service.autofill.augmented.FillResponse.Builder#setInlineSuggestions(java.util.List<android.service.autofill.Dataset>):
    
MissingGetterMatchingBuilder: android.telecom.CallScreeningService.CallResponse.Builder#setShouldScreenCallViaAudioProcessing(boolean):
    
MissingGetterMatchingBuilder: android.telecom.ConnectionRequest.Builder#setIsAdhocConferenceCall(boolean):
    
MissingGetterMatchingBuilder: android.telecom.ConnectionRequest.Builder#setRttPipeFromInCall(android.os.ParcelFileDescriptor):
    
MissingGetterMatchingBuilder: android.telecom.ConnectionRequest.Builder#setRttPipeToInCall(android.os.ParcelFileDescriptor):
    
MissingGetterMatchingBuilder: android.telecom.ConnectionRequest.Builder#setShouldShowIncomingCallUi(boolean):
    
MissingGetterMatchingBuilder: android.telecom.PhoneAccount.Builder#setGroupId(String):
    
MissingGetterMatchingBuilder: android.telephony.NetworkRegistrationInfo.Builder#setEmergencyOnly(boolean):
    
MissingGetterMatchingBuilder: android.telephony.ims.ImsSsData.Builder#setCallForwardingInfo(java.util.List<android.telephony.ims.ImsCallForwardInfo>):
    
MissingGetterMatchingBuilder: android.telephony.ims.stub.ImsFeatureConfiguration.Builder#addFeature(int, int):
    
MissingGetterMatchingBuilder: android.telephony.mbms.DownloadRequest.Builder#setServiceId(String):
    


MissingNullability: android.app.Activity#onMovedToDisplay(int, android.content.res.Configuration) parameter #1:
    
MissingNullability: android.app.ActivityManager#addOnUidImportanceListener(android.app.ActivityManager.OnUidImportanceListener, int) parameter #0:
    
MissingNullability: android.app.ActivityManager#alwaysShowUnsupportedCompileSdkWarning(android.content.ComponentName) parameter #0:
    
MissingNullability: android.app.ActivityManager#forceStopPackage(String) parameter #0:
    
MissingNullability: android.app.ActivityManager#getPackageImportance(String) parameter #0:
    
MissingNullability: android.app.ActivityManager#removeOnUidImportanceListener(android.app.ActivityManager.OnUidImportanceListener) parameter #0:
    
MissingNullability: android.app.ActivityManager#scheduleApplicationInfoChanged(java.util.List<java.lang.String>, int) parameter #0:
    
MissingNullability: android.app.ActivityManager.TaskDescription#getIconFilename():
    
MissingNullability: android.app.ActivityTaskManager#clearLaunchParamsForPackages(java.util.List<java.lang.String>) parameter #0:
    
MissingNullability: android.app.ActivityTaskManager#listAllStacks():
    
MissingNullability: android.app.ActivityTaskManager#moveTopActivityToPinnedStack(int, android.graphics.Rect) parameter #1:
    
MissingNullability: android.app.ActivityTaskManager#removeStacksInWindowingModes(int[]) parameter #0:
    
MissingNullability: android.app.ActivityTaskManager#removeStacksWithActivityTypes(int[]) parameter #0:
    
MissingNullability: android.app.ActivityTaskManager#resizeDockedStack(android.graphics.Rect, android.graphics.Rect) parameter #0:
    
MissingNullability: android.app.ActivityTaskManager#resizeDockedStack(android.graphics.Rect, android.graphics.Rect) parameter #1:
    
MissingNullability: android.app.ActivityTaskManager#resizePinnedStack(int, android.graphics.Rect, boolean) parameter #1:
    
MissingNullability: android.app.ActivityTaskManager#resizeTask(int, android.graphics.Rect) parameter #1:
    
MissingNullability: android.app.ActivityTaskManager#setTaskWindowingModeSplitScreenPrimary(int, int, boolean, boolean, android.graphics.Rect, boolean) parameter #4:
    
MissingNullability: android.app.ActivityTaskManager#supportsMultiWindow(android.content.Context) parameter #0:
    
MissingNullability: android.app.ActivityTaskManager#supportsSplitScreenMultiWindow(android.content.Context) parameter #0:
    
MissingNullability: android.app.ActivityView#ActivityView(android.content.Context) parameter #0:
    
MissingNullability: android.app.ActivityView#ActivityView(android.content.Context, android.util.AttributeSet) parameter #0:
    
MissingNullability: android.app.ActivityView#ActivityView(android.content.Context, android.util.AttributeSet) parameter #1:
    
MissingNullability: android.app.ActivityView#ActivityView(android.content.Context, android.util.AttributeSet, int) parameter #0:
    
MissingNullability: android.app.ActivityView#ActivityView(android.content.Context, android.util.AttributeSet, int) parameter #1:
    
MissingNullability: android.app.ActivityView#ActivityView(android.content.Context, android.util.AttributeSet, int, boolean) parameter #0:
    
MissingNullability: android.app.ActivityView#ActivityView(android.content.Context, android.util.AttributeSet, int, boolean) parameter #1:
    
MissingNullability: android.app.ActivityView#gatherTransparentRegion(android.graphics.Region) parameter #0:
    
MissingNullability: android.app.ActivityView#onVisibilityChanged(android.view.View, int) parameter #0:
    
MissingNullability: android.app.ActivityView#setCallback(android.app.ActivityView.StateCallback) parameter #0:
    
MissingNullability: android.app.ActivityView#setForwardedInsets(android.graphics.Insets) parameter #0:
    
MissingNullability: android.app.ActivityView#startActivity(android.content.Intent, android.os.UserHandle) parameter #1:
    
MissingNullability: android.app.ActivityView.StateCallback#onActivityViewDestroyed(android.app.ActivityView) parameter #0:
    
MissingNullability: android.app.ActivityView.StateCallback#onActivityViewReady(android.app.ActivityView) parameter #0:
    
MissingNullability: android.app.ActivityView.StateCallback#onTaskCreated(int, android.content.ComponentName) parameter #1:
    
MissingNullability: android.app.AppDetailsActivity#onCreate(android.os.Bundle) parameter #0:
    
MissingNullability: android.app.AppOpsManager#getOpStrs():
    
MissingNullability: android.app.AppOpsManager#isOperationActive(int, int, String) parameter #2:
    
MissingNullability: android.app.AppOpsManager#opToPermission(int):
    
MissingNullability: android.app.AppOpsManager#permissionToOpCode(String) parameter #0:
    
MissingNullability: android.app.AppOpsManager#setMode(String, int, String, int) parameter #0:
    
MissingNullability: android.app.AppOpsManager#setMode(String, int, String, int) parameter #2:
    
MissingNullability: android.app.AppOpsManager#setMode(int, int, String, int) parameter #2:
    
MissingNullability: android.app.AppOpsManager#setUidMode(String, int, int) parameter #0:
    
MissingNullability: android.app.AppOpsManager.HistoricalOp#writeToParcel(android.os.Parcel, int) parameter #0:
    
MissingNullability: android.app.AppOpsManager.HistoricalOps#writeToParcel(android.os.Parcel, int) parameter #0:
    
MissingNullability: android.app.AppOpsManager.HistoricalUidOps#writeToParcel(android.os.Parcel, int) parameter #0:
    
MissingNullability: android.app.AppOpsManager.OpEntry#writeToParcel(android.os.Parcel, int) parameter #0:
    
MissingNullability: android.app.NotificationManager#allowAssistantAdjustment(String) parameter #0:
    
MissingNullability: android.app.NotificationManager#disallowAssistantAdjustment(String) parameter #0:
    
MissingNullability: android.app.NotificationManager#getEffectsSuppressor():
    
MissingNullability: android.app.NotificationManager#matchesCallFilter(android.os.Bundle) parameter #0:
    
MissingNullability: android.app.PictureInPictureParams#getActions():
    
MissingNullability: android.app.PictureInPictureParams#getSourceRectHint():
    
MissingNullability: android.app.TimePickerDialog#getTimePicker():
    
MissingNullability: android.app.UiAutomation#executeShellCommandRw(String):
    
MissingNullability: android.app.UiAutomation#executeShellCommandRw(String) parameter #0:
    
MissingNullability: android.app.UiAutomation#grantRuntimePermission(String, String, android.os.UserHandle) parameter #0:
    
MissingNullability: android.app.UiAutomation#grantRuntimePermission(String, String, android.os.UserHandle) parameter #1:
    
MissingNullability: android.app.UiAutomation#grantRuntimePermission(String, String, android.os.UserHandle) parameter #2:
    
MissingNullability: android.app.UiAutomation#revokeRuntimePermission(String, String, android.os.UserHandle) parameter #0:
    
MissingNullability: android.app.UiAutomation#revokeRuntimePermission(String, String, android.os.UserHandle) parameter #1:
    
MissingNullability: android.app.UiAutomation#revokeRuntimePermission(String, String, android.os.UserHandle) parameter #2:
    
MissingNullability: android.app.WallpaperManager#setWallpaperComponent(android.content.ComponentName) parameter #0:
    
MissingNullability: android.app.WindowConfiguration#compareTo(android.app.WindowConfiguration) parameter #0:
    
MissingNullability: android.app.WindowConfiguration#getAppBounds():
    
MissingNullability: android.app.WindowConfiguration#getBounds():
    
MissingNullability: android.app.WindowConfiguration#setAppBounds(android.graphics.Rect) parameter #0:
    
MissingNullability: android.app.WindowConfiguration#setBounds(android.graphics.Rect) parameter #0:
    
MissingNullability: android.app.WindowConfiguration#setTo(android.app.WindowConfiguration) parameter #0:
    
MissingNullability: android.app.WindowConfiguration#writeToParcel(android.os.Parcel, int) parameter #0:
    
MissingNullability: android.app.admin.DevicePolicyManager#getOwnerInstalledCaCerts(android.os.UserHandle):
    
MissingNullability: android.app.admin.SecurityLog.SecurityEvent#SecurityEvent(long, byte[]) parameter #1:
    
MissingNullability: android.app.backup.BackupManager#getConfigurationIntent(String):
    
MissingNullability: android.app.backup.BackupManager#getConfigurationIntent(String) parameter #0:
    
MissingNullability: android.app.backup.BackupManager#getDataManagementIntent(String):
    
MissingNullability: android.app.backup.BackupManager#getDataManagementIntent(String) parameter #0:
    
MissingNullability: android.app.backup.BackupManager#getDestinationString(String):
    
MissingNullability: android.app.backup.BackupManager#getDestinationString(String) parameter #0:
    
MissingNullability: android.app.prediction.AppPredictionSessionId#writeToParcel(android.os.Parcel, int) parameter #0:
    
MissingNullability: android.app.prediction.AppPredictor#getSessionId():
    
MissingNullability: android.app.prediction.AppTarget#writeToParcel(android.os.Parcel, int) parameter #0:
    
MissingNullability: android.app.prediction.AppTargetEvent#writeToParcel(android.os.Parcel, int) parameter #0:
    
MissingNullability: android.app.prediction.AppTargetId#writeToParcel(android.os.Parcel, int) parameter #0:
    
MissingNullability: android.content.AutofillOptions#forWhitelistingItself():
    
MissingNullability: android.content.AutofillOptions#writeToParcel(android.os.Parcel, int) parameter #0:
    
MissingNullability: android.content.ContentCaptureOptions#forWhitelistingItself():
    
MissingNullability: android.content.ContentCaptureOptions#writeToParcel(android.os.Parcel, int) parameter #0:
    
MissingNullability: android.content.ContentResolver#getSyncAdapterPackagesForAuthorityAsUser(String, int):
    
MissingNullability: android.content.ContentResolver#getSyncAdapterPackagesForAuthorityAsUser(String, int) parameter #0:
    
MissingNullability: android.content.Context#getDisplay():
    
MissingNullability: android.content.Context#getUser():
    
MissingNullability: android.content.ContextWrapper#getDisplay():
    
MissingNullability: android.content.ContextWrapper#setContentCaptureOptions(android.content.ContentCaptureOptions) parameter #0:
    
MissingNullability: android.content.pm.ActivityInfo#isTranslucentOrFloating(android.content.res.TypedArray) parameter #0:
    
MissingNullability: android.content.pm.LauncherApps#LauncherApps(android.content.Context) parameter #0:
    
MissingNullability: android.content.pm.PackageInstaller.SessionParams#setGrantedRuntimePermissions(String[]) parameter #0:
    
MissingNullability: android.content.pm.PackageManager#getNamesForUids(int[]) parameter #0:
    
MissingNullability: android.content.pm.ShortcutManager#ShortcutManager(android.content.Context) parameter #0:
    
MissingNullability: android.content.res.AssetManager#getOverlayablesToString(String) parameter #0:
    
MissingNullability: android.content.res.Configuration#windowConfiguration:
    
MissingNullability: android.content.rollback.PackageRollbackInfo#writeToParcel(android.os.Parcel, int) parameter #0:
    
MissingNullability: android.content.rollback.RollbackInfo#writeToParcel(android.os.Parcel, int) parameter #0:
    
MissingNullability: android.database.sqlite.SQLiteDebug#dump(android.util.Printer, String[]) parameter #0:
    
MissingNullability: android.database.sqlite.SQLiteDebug#dump(android.util.Printer, String[]) parameter #1:
    
MissingNullability: android.database.sqlite.SQLiteDebug#getDatabaseInfo():
    
MissingNullability: android.database.sqlite.SQLiteDebug.DbStats#DbStats(String, long, long, int, int, int, int) parameter #0:
    
MissingNullability: android.database.sqlite.SQLiteDebug.DbStats#cache:
    
MissingNullability: android.database.sqlite.SQLiteDebug.DbStats#dbName:
    
MissingNullability: android.database.sqlite.SQLiteDebug.PagerStats#dbStats:
    
MissingNullability: android.database.sqlite.SQLiteDirectCursorDriver#SQLiteDirectCursorDriver(android.database.sqlite.SQLiteDatabase, String, String, android.os.CancellationSignal) parameter #0:
    
MissingNullability: android.database.sqlite.SQLiteDirectCursorDriver#SQLiteDirectCursorDriver(android.database.sqlite.SQLiteDatabase, String, String, android.os.CancellationSignal) parameter #1:
    
MissingNullability: android.database.sqlite.SQLiteDirectCursorDriver#SQLiteDirectCursorDriver(android.database.sqlite.SQLiteDatabase, String, String, android.os.CancellationSignal) parameter #2:
    
MissingNullability: android.database.sqlite.SQLiteDirectCursorDriver#SQLiteDirectCursorDriver(android.database.sqlite.SQLiteDatabase, String, String, android.os.CancellationSignal) parameter #3:
    
MissingNullability: android.database.sqlite.SQLiteDirectCursorDriver#cursorRequeried(android.database.Cursor) parameter #0:
    
MissingNullability: android.database.sqlite.SQLiteDirectCursorDriver#query(android.database.sqlite.SQLiteDatabase.CursorFactory, String[]):
    
MissingNullability: android.database.sqlite.SQLiteDirectCursorDriver#query(android.database.sqlite.SQLiteDatabase.CursorFactory, String[]) parameter #0:
    
MissingNullability: android.database.sqlite.SQLiteDirectCursorDriver#query(android.database.sqlite.SQLiteDatabase.CursorFactory, String[]) parameter #1:
    
MissingNullability: android.database.sqlite.SQLiteDirectCursorDriver#setBindArguments(String[]) parameter #0:
    
MissingNullability: android.database.sqlite.SQLiteGlobal#getDefaultJournalMode():
    
MissingNullability: android.database.sqlite.SQLiteGlobal#getDefaultSyncMode():
    
MissingNullability: android.database.sqlite.SQLiteGlobal#getWALSyncMode():
    
MissingNullability: android.graphics.ImageDecoder#createSource(android.content.res.Resources, java.io.InputStream, int) parameter #0:
    
MissingNullability: android.graphics.ImageDecoder#createSource(android.content.res.Resources, java.io.InputStream, int) parameter #1:
    
MissingNullability: android.graphics.drawable.AdaptiveIconDrawable#getSafeZone():
    
MissingNullability: android.graphics.drawable.ColorDrawable#getXfermode():
    
MissingNullability: android.hardware.camera2.CameraDevice#createCustomCaptureSession(android.hardware.camera2.params.InputConfiguration, java.util.List<android.hardware.camera2.params.OutputConfiguration>, int, android.hardware.camera2.CameraCaptureSession.StateCallback, android.os.Handler) parameter #0:
    
MissingNullability: android.hardware.camera2.CameraManager#getCameraIdListNoLazy():
    
MissingNullability: android.hardware.display.AmbientBrightnessDayStats#getBucketBoundaries():
    
MissingNullability: android.hardware.display.AmbientBrightnessDayStats#getLocalDate():
    
MissingNullability: android.hardware.display.AmbientBrightnessDayStats#getStats():
    
MissingNullability: android.hardware.display.AmbientBrightnessDayStats#writeToParcel(android.os.Parcel, int) parameter #0:
    
MissingNullability: android.hardware.display.AmbientDisplayConfiguration#AmbientDisplayConfiguration(android.content.Context) parameter #0:
    
MissingNullability: android.hardware.display.BrightnessChangeEvent#luxTimestamps:
    
MissingNullability: android.hardware.display.BrightnessChangeEvent#luxValues:
    
MissingNullability: android.hardware.display.BrightnessChangeEvent#packageName:
    
MissingNullability: android.hardware.display.BrightnessChangeEvent#writeToParcel(android.os.Parcel, int) parameter #0:
    
MissingNullability: android.hardware.display.BrightnessConfiguration#getCurve():
    
MissingNullability: android.hardware.display.BrightnessConfiguration#writeToParcel(android.os.Parcel, int) parameter #0:
    
MissingNullability: android.hardware.display.BrightnessConfiguration.Builder#Builder(float[], float[]) parameter #0:
    
MissingNullability: android.hardware.display.BrightnessConfiguration.Builder#Builder(float[], float[]) parameter #1:
    
MissingNullability: android.hardware.display.BrightnessCorrection#writeToParcel(android.os.Parcel, int) parameter #0:
    
MissingNullability: android.hardware.display.DisplayManager#getAmbientBrightnessStats():
    
MissingNullability: android.hardware.display.DisplayManager#getBrightnessConfiguration():
    
MissingNullability: android.hardware.display.DisplayManager#getBrightnessEvents():
    
MissingNullability: android.hardware.display.DisplayManager#getStableDisplaySize():
    
MissingNullability: android.hardware.display.DisplayManager#setBrightnessConfiguration(android.hardware.display.BrightnessConfiguration) parameter #0:
    
MissingNullability: android.location.GnssClock#set(android.location.GnssClock) parameter #0:
    
MissingNullability: android.location.GnssMeasurement#set(android.location.GnssMeasurement) parameter #0:
    
MissingNullability: android.location.GnssMeasurementsEvent#GnssMeasurementsEvent(android.location.GnssClock, android.location.GnssMeasurement[]) parameter #0:
    
MissingNullability: android.location.GnssMeasurementsEvent#GnssMeasurementsEvent(android.location.GnssClock, android.location.GnssMeasurement[]) parameter #1:
    
MissingNullability: android.location.GnssNavigationMessage#set(android.location.GnssNavigationMessage) parameter #0:
    
MissingNullability: android.location.GnssNavigationMessage#setData(byte[]) parameter #0:
    
MissingNullability: android.location.LocationManager#getTestProviderCurrentRequests(String) parameter #0:
    
MissingNullability: android.location.LocationRequest#writeToParcel(android.os.Parcel, int) parameter #0:
    
MissingNullability: android.media.AudioFocusInfo#writeToParcel(android.os.Parcel, int) parameter #0:
    
MissingNullability: android.media.AudioRecordingConfiguration#AudioRecordingConfiguration(int, int, int, android.media.AudioFormat, android.media.AudioFormat, int, String) parameter #3:
    
MissingNullability: android.media.AudioRecordingConfiguration#AudioRecordingConfiguration(int, int, int, android.media.AudioFormat, android.media.AudioFormat, int, String) parameter #4:
    
MissingNullability: android.media.AudioRecordingConfiguration#AudioRecordingConfiguration(int, int, int, android.media.AudioFormat, android.media.AudioFormat, int, String) parameter #6:
    
MissingNullability: android.media.AudioRecordingConfiguration#AudioRecordingConfiguration(int, int, int, android.media.AudioFormat, android.media.AudioFormat, int, String, int, boolean, int, android.media.audiofx.AudioEffect.Descriptor[], android.media.audiofx.AudioEffect.Descriptor[]) parameter #10:
    
MissingNullability: android.media.AudioRecordingConfiguration#AudioRecordingConfiguration(int, int, int, android.media.AudioFormat, android.media.AudioFormat, int, String, int, boolean, int, android.media.audiofx.AudioEffect.Descriptor[], android.media.audiofx.AudioEffect.Descriptor[]) parameter #11:
    
MissingNullability: android.media.AudioRecordingConfiguration#AudioRecordingConfiguration(int, int, int, android.media.AudioFormat, android.media.AudioFormat, int, String, int, boolean, int, android.media.audiofx.AudioEffect.Descriptor[], android.media.audiofx.AudioEffect.Descriptor[]) parameter #3:
    
MissingNullability: android.media.AudioRecordingConfiguration#AudioRecordingConfiguration(int, int, int, android.media.AudioFormat, android.media.AudioFormat, int, String, int, boolean, int, android.media.audiofx.AudioEffect.Descriptor[], android.media.audiofx.AudioEffect.Descriptor[]) parameter #4:
    
MissingNullability: android.media.AudioRecordingConfiguration#AudioRecordingConfiguration(int, int, int, android.media.AudioFormat, android.media.AudioFormat, int, String, int, boolean, int, android.media.audiofx.AudioEffect.Descriptor[], android.media.audiofx.AudioEffect.Descriptor[]) parameter #6:
    
MissingNullability: android.media.PlaybackParams#setAudioStretchMode(int):
    
MissingNullability: android.media.audiofx.AudioEffect#EFFECT_TYPE_NULL:
    
MissingNullability: android.media.audiofx.AudioEffect#byteArrayToInt(byte[]) parameter #0:
    
MissingNullability: android.media.audiofx.AudioEffect#byteArrayToShort(byte[]) parameter #0:
    
MissingNullability: android.media.audiofx.AudioEffect#getParameter(byte[], byte[]) parameter #0:
    
MissingNullability: android.media.audiofx.AudioEffect#getParameter(byte[], byte[]) parameter #1:
    
MissingNullability: android.media.audiofx.AudioEffect#getParameter(int, byte[]) parameter #1:
    
MissingNullability: android.media.audiofx.AudioEffect#getParameter(int, int[]) parameter #1:
    
MissingNullability: android.media.audiofx.AudioEffect#getParameter(int, short[]) parameter #1:
    
MissingNullability: android.media.audiofx.AudioEffect#getParameter(int[], short[]) parameter #0:
    
MissingNullability: android.media.audiofx.AudioEffect#getParameter(int[], short[]) parameter #1:
    
MissingNullability: android.media.audiofx.AudioEffect#intToByteArray(int):
    
MissingNullability: android.media.audiofx.AudioEffect#isEffectTypeAvailable(java.util.UUID) parameter #0:
    
MissingNullability: android.media.audiofx.AudioEffect#setParameter(byte[], byte[]) parameter #0:
    
MissingNullability: android.media.audiofx.AudioEffect#setParameter(byte[], byte[]) parameter #1:
    
MissingNullability: android.media.audiofx.AudioEffect#setParameter(int, byte[]) parameter #1:
    
MissingNullability: android.media.audiofx.AudioEffect#setParameter(int[], byte[]) parameter #0:
    
MissingNullability: android.media.audiofx.AudioEffect#setParameter(int[], byte[]) parameter #1:
    
MissingNullability: android.media.audiofx.AudioEffect#setParameter(int[], int[]) parameter #0:
    
MissingNullability: android.media.audiofx.AudioEffect#setParameter(int[], int[]) parameter #1:
    
MissingNullability: android.media.audiofx.AudioEffect#setParameterListener(android.media.audiofx.AudioEffect.OnParameterChangeListener) parameter #0:
    
MissingNullability: android.media.audiofx.AudioEffect#shortToByteArray(short):
    
MissingNullability: android.media.audiofx.AudioEffect.Descriptor#Descriptor(android.os.Parcel) parameter #0:
    
MissingNullability: android.media.audiofx.AudioEffect.Descriptor#writeToParcel(android.os.Parcel) parameter #0:
    
MissingNullability: android.media.audiofx.AudioEffect.OnParameterChangeListener#onParameterChange(android.media.audiofx.AudioEffect, int, byte[], byte[]) parameter #0:
    
MissingNullability: android.media.audiofx.AudioEffect.OnParameterChangeListener#onParameterChange(android.media.audiofx.AudioEffect, int, byte[], byte[]) parameter #2:
    
MissingNullability: android.media.audiofx.AudioEffect.OnParameterChangeListener#onParameterChange(android.media.audiofx.AudioEffect, int, byte[], byte[]) parameter #3:
    
MissingNullability: android.media.audiopolicy.AudioMix.Builder#Builder(android.media.audiopolicy.AudioMixingRule) parameter #0:
    
MissingNullability: android.media.audiopolicy.AudioMix.Builder#build():
    
MissingNullability: android.media.audiopolicy.AudioMix.Builder#setDevice(android.media.AudioDeviceInfo):
    
MissingNullability: android.media.audiopolicy.AudioMix.Builder#setFormat(android.media.AudioFormat):
    
MissingNullability: android.media.audiopolicy.AudioMix.Builder#setFormat(android.media.AudioFormat) parameter #0:
    
MissingNullability: android.media.audiopolicy.AudioMix.Builder#setRouteFlags(int):
    
MissingNullability: android.media.audiopolicy.AudioMixingRule.Builder#addMixRule(int, Object):
    
MissingNullability: android.media.audiopolicy.AudioMixingRule.Builder#addMixRule(int, Object) parameter #1:
    
MissingNullability: android.media.audiopolicy.AudioMixingRule.Builder#addRule(android.media.AudioAttributes, int):
    
MissingNullability: android.media.audiopolicy.AudioMixingRule.Builder#addRule(android.media.AudioAttributes, int) parameter #0:
    
MissingNullability: android.media.audiopolicy.AudioMixingRule.Builder#build():
    
MissingNullability: android.media.audiopolicy.AudioMixingRule.Builder#excludeMixRule(int, Object):
    
MissingNullability: android.media.audiopolicy.AudioMixingRule.Builder#excludeMixRule(int, Object) parameter #1:
    
MissingNullability: android.media.audiopolicy.AudioMixingRule.Builder#excludeRule(android.media.AudioAttributes, int):
    
MissingNullability: android.media.audiopolicy.AudioMixingRule.Builder#excludeRule(android.media.AudioAttributes, int) parameter #0:
    
MissingNullability: android.media.audiopolicy.AudioPolicy#createAudioRecordSink(android.media.audiopolicy.AudioMix):
    
MissingNullability: android.media.audiopolicy.AudioPolicy#createAudioRecordSink(android.media.audiopolicy.AudioMix) parameter #0:
    
MissingNullability: android.media.audiopolicy.AudioPolicy#createAudioTrackSource(android.media.audiopolicy.AudioMix):
    
MissingNullability: android.media.audiopolicy.AudioPolicy#createAudioTrackSource(android.media.audiopolicy.AudioMix) parameter #0:
    
MissingNullability: android.media.audiopolicy.AudioPolicy#setRegistration(String) parameter #0:
    
MissingNullability: android.media.audiopolicy.AudioPolicy#toLogFriendlyString():
    
MissingNullability: android.media.audiopolicy.AudioPolicy.AudioPolicyFocusListener#onAudioFocusAbandon(android.media.AudioFocusInfo) parameter #0:
    
MissingNullability: android.media.audiopolicy.AudioPolicy.AudioPolicyFocusListener#onAudioFocusGrant(android.media.AudioFocusInfo, int) parameter #0:
    
MissingNullability: android.media.audiopolicy.AudioPolicy.AudioPolicyFocusListener#onAudioFocusLoss(android.media.AudioFocusInfo, boolean) parameter #0:
    
MissingNullability: android.media.audiopolicy.AudioPolicy.AudioPolicyFocusListener#onAudioFocusRequest(android.media.AudioFocusInfo, int) parameter #0:
    
MissingNullability: android.media.audiopolicy.AudioPolicy.AudioPolicyStatusListener#onMixStateUpdate(android.media.audiopolicy.AudioMix) parameter #0:
    
MissingNullability: android.media.audiopolicy.AudioPolicy.Builder#Builder(android.content.Context) parameter #0:
    
MissingNullability: android.media.audiopolicy.AudioPolicy.Builder#setAudioPolicyFocusListener(android.media.audiopolicy.AudioPolicy.AudioPolicyFocusListener) parameter #0:
    
MissingNullability: android.media.audiopolicy.AudioPolicy.Builder#setAudioPolicyStatusListener(android.media.audiopolicy.AudioPolicy.AudioPolicyStatusListener) parameter #0:
    
MissingNullability: android.metrics.LogMaker#LogMaker(Object[]) parameter #0:
    
MissingNullability: android.metrics.LogMaker#addTaggedData(int, Object):
    
MissingNullability: android.metrics.LogMaker#addTaggedData(int, Object) parameter #1:
    
MissingNullability: android.metrics.LogMaker#clearCategory():
    
MissingNullability: android.metrics.LogMaker#clearPackageName():
    
MissingNullability: android.metrics.LogMaker#clearSubtype():
    
MissingNullability: android.metrics.LogMaker#clearTaggedData(int):
    
MissingNullability: android.metrics.LogMaker#clearType():
    
MissingNullability: android.metrics.LogMaker#deserialize(Object[]) parameter #0:
    
MissingNullability: android.metrics.LogMaker#getCounterName():
    
MissingNullability: android.metrics.LogMaker#getPackageName():
    
MissingNullability: android.metrics.LogMaker#getTaggedData(int):
    
MissingNullability: android.metrics.LogMaker#isSubsetOf(android.metrics.LogMaker) parameter #0:
    
MissingNullability: android.metrics.LogMaker#isValidValue(Object) parameter #0:
    
MissingNullability: android.metrics.LogMaker#serialize():
    
MissingNullability: android.metrics.LogMaker#setCategory(int):
    
MissingNullability: android.metrics.LogMaker#setPackageName(String):
    
MissingNullability: android.metrics.LogMaker#setPackageName(String) parameter #0:
    
MissingNullability: android.metrics.LogMaker#setSubtype(int):
    
MissingNullability: android.metrics.LogMaker#setType(int):
    
MissingNullability: android.metrics.MetricsReader#next():
    
MissingNullability: android.net.NetworkCapabilities#getCapabilities():
    
MissingNullability: android.net.StaticIpConfiguration#writeToParcel(android.os.Parcel, int) parameter #0:
    
MissingNullability: android.net.TestNetworkInterface#CREATOR:
    
MissingNullability: android.net.TestNetworkInterface#TestNetworkInterface(android.os.ParcelFileDescriptor, String) parameter #0:
    
MissingNullability: android.net.TestNetworkInterface#TestNetworkInterface(android.os.ParcelFileDescriptor, String) parameter #1:
    
MissingNullability: android.net.TestNetworkInterface#getFileDescriptor():
    
MissingNullability: android.net.TestNetworkInterface#getInterfaceName():
    
MissingNullability: android.net.TestNetworkInterface#writeToParcel(android.os.Parcel, int) parameter #0:
    
MissingNullability: android.net.TestNetworkManager#createTapInterface():
    
MissingNullability: android.net.TestNetworkManager#createTunInterface(android.net.LinkAddress[]):
    
MissingNullability: android.net.apf.ApfCapabilities#CREATOR:
    
MissingNullability: android.net.apf.ApfCapabilities#writeToParcel(android.os.Parcel, int) parameter #0:
    
MissingNullability: android.net.metrics.DhcpClientEvent.Builder#setMsg(String) parameter #0:
    
MissingNullability: android.os.Build#is64BitAbi(String) parameter #0:
    
MissingNullability: android.os.Build.VERSION#ACTIVE_CODENAMES:
    
MissingNullability: android.os.Environment#buildPath(java.io.File, java.lang.String...):
    
MissingNullability: android.os.Environment#buildPath(java.io.File, java.lang.String...) parameter #0:
    
MissingNullability: android.os.Environment#buildPath(java.io.File, java.lang.String...) parameter #1:
    
MissingNullability: android.os.FileUtils#contains(java.io.File, java.io.File) parameter #0:
    
MissingNullability: android.os.FileUtils#contains(java.io.File, java.io.File) parameter #1:
    
MissingNullability: android.os.HwBinder#getService(String, String):
    
MissingNullability: android.os.HwBinder#getService(String, String) parameter #0:
    
MissingNullability: android.os.HwBinder#getService(String, String) parameter #1:
    
MissingNullability: android.os.HwBinder#getService(String, String, boolean):
    
MissingNullability: android.os.HwBinder#getService(String, String, boolean) parameter #0:
    
MissingNullability: android.os.HwBinder#getService(String, String, boolean) parameter #1:
    
MissingNullability: android.os.HwBinder#onTransact(int, android.os.HwParcel, android.os.HwParcel, int) parameter #1:
    
MissingNullability: android.os.HwBinder#onTransact(int, android.os.HwParcel, android.os.HwParcel, int) parameter #2:
    
MissingNullability: android.os.HwBinder#registerService(String) parameter #0:
    
MissingNullability: android.os.HwBinder#transact(int, android.os.HwParcel, android.os.HwParcel, int) parameter #1:
    
MissingNullability: android.os.HwBinder#transact(int, android.os.HwParcel, android.os.HwParcel, int) parameter #2:
    
MissingNullability: android.os.HwBlob#copyToBoolArray(long, boolean[], int) parameter #1:
    
MissingNullability: android.os.HwBlob#copyToDoubleArray(long, double[], int) parameter #1:
    
MissingNullability: android.os.HwBlob#copyToFloatArray(long, float[], int) parameter #1:
    
MissingNullability: android.os.HwBlob#copyToInt16Array(long, short[], int) parameter #1:
    
MissingNullability: android.os.HwBlob#copyToInt32Array(long, int[], int) parameter #1:
    
MissingNullability: android.os.HwBlob#copyToInt64Array(long, long[], int) parameter #1:
    
MissingNullability: android.os.HwBlob#copyToInt8Array(long, byte[], int) parameter #1:
    
MissingNullability: android.os.HwBlob#getString(long):
    
MissingNullability: android.os.HwBlob#putBlob(long, android.os.HwBlob) parameter #1:
    
MissingNullability: android.os.HwBlob#putBoolArray(long, boolean[]) parameter #1:
    
MissingNullability: android.os.HwBlob#putDoubleArray(long, double[]) parameter #1:
    
MissingNullability: android.os.HwBlob#putFloatArray(long, float[]) parameter #1:
    
MissingNullability: android.os.HwBlob#putInt16Array(long, short[]) parameter #1:
    
MissingNullability: android.os.HwBlob#putInt32Array(long, int[]) parameter #1:
    
MissingNullability: android.os.HwBlob#putInt64Array(long, long[]) parameter #1:
    
MissingNullability: android.os.HwBlob#putInt8Array(long, byte[]) parameter #1:
    
MissingNullability: android.os.HwBlob#putString(long, String) parameter #1:
    
MissingNullability: android.os.HwBlob#wrapArray(boolean[]):
    
MissingNullability: android.os.HwBlob#wrapArray(byte[]):
    
MissingNullability: android.os.HwBlob#wrapArray(double[]):
    
MissingNullability: android.os.HwBlob#wrapArray(float[]):
    
MissingNullability: android.os.HwBlob#wrapArray(int[]):
    
MissingNullability: android.os.HwBlob#wrapArray(long[]):
    
MissingNullability: android.os.HwBlob#wrapArray(short[]):
    
MissingNullability: android.os.HwParcel#enforceInterface(String) parameter #0:
    
MissingNullability: android.os.HwParcel#readBoolVector():
    
MissingNullability: android.os.HwParcel#readBuffer(long):
    
MissingNullability: android.os.HwParcel#readDoubleVector():
    
MissingNullability: android.os.HwParcel#readEmbeddedBuffer(long, long, long, boolean):
    
MissingNullability: android.os.HwParcel#readFloatVector():
    
MissingNullability: android.os.HwParcel#readInt16Vector():
    
MissingNullability: android.os.HwParcel#readInt32Vector():
    
MissingNullability: android.os.HwParcel#readInt64Vector():
    
MissingNullability: android.os.HwParcel#readInt8Vector():
    
MissingNullability: android.os.HwParcel#readString():
    
MissingNullability: android.os.HwParcel#readStringVector():
    
MissingNullability: android.os.HwParcel#readStrongBinder():
    
MissingNullability: android.os.HwParcel#writeBoolVector(java.util.ArrayList<java.lang.Boolean>) parameter #0:
    
MissingNullability: android.os.HwParcel#writeBuffer(android.os.HwBlob) parameter #0:
    
MissingNullability: android.os.HwParcel#writeDoubleVector(java.util.ArrayList<java.lang.Double>) parameter #0:
    
MissingNullability: android.os.HwParcel#writeFloatVector(java.util.ArrayList<java.lang.Float>) parameter #0:
    
MissingNullability: android.os.HwParcel#writeInt16Vector(java.util.ArrayList<java.lang.Short>) parameter #0:
    
MissingNullability: android.os.HwParcel#writeInt32Vector(java.util.ArrayList<java.lang.Integer>) parameter #0:
    
MissingNullability: android.os.HwParcel#writeInt64Vector(java.util.ArrayList<java.lang.Long>) parameter #0:
    
MissingNullability: android.os.HwParcel#writeInt8Vector(java.util.ArrayList<java.lang.Byte>) parameter #0:
    
MissingNullability: android.os.HwParcel#writeInterfaceToken(String) parameter #0:
    
MissingNullability: android.os.HwParcel#writeString(String) parameter #0:
    
MissingNullability: android.os.HwParcel#writeStringVector(java.util.ArrayList<java.lang.String>) parameter #0:
    
MissingNullability: android.os.HwParcel#writeStrongBinder(android.os.IHwBinder) parameter #0:
    
MissingNullability: android.os.IHwBinder#linkToDeath(android.os.IHwBinder.DeathRecipient, long) parameter #0:
    
MissingNullability: android.os.IHwBinder#queryLocalInterface(String):
    
MissingNullability: android.os.IHwBinder#queryLocalInterface(String) parameter #0:
    
MissingNullability: android.os.IHwBinder#transact(int, android.os.HwParcel, android.os.HwParcel, int) parameter #1:
    
MissingNullability: android.os.IHwBinder#transact(int, android.os.HwParcel, android.os.HwParcel, int) parameter #2:
    
MissingNullability: android.os.IHwBinder#unlinkToDeath(android.os.IHwBinder.DeathRecipient) parameter #0:
    
MissingNullability: android.os.IHwInterface#asBinder():
    
MissingNullability: android.os.IncidentManager#approveReport(android.net.Uri) parameter #0:
    
MissingNullability: android.os.IncidentManager#cancelAuthorization(android.os.IncidentManager.AuthListener) parameter #0:
    
MissingNullability: android.os.IncidentManager#deleteIncidentReports(android.net.Uri) parameter #0:
    
MissingNullability: android.os.IncidentManager#denyReport(android.net.Uri) parameter #0:
    
MissingNullability: android.os.IncidentManager#getIncidentReport(android.net.Uri) parameter #0:
    
MissingNullability: android.os.IncidentManager#getIncidentReportList(String) parameter #0:
    
MissingNullability: android.os.IncidentManager#getPendingReports():
    
MissingNullability: android.os.IncidentManager#reportIncident(android.os.IncidentReportArgs) parameter #0:
    
MissingNullability: android.os.IncidentManager#requestAuthorization(int, String, int, android.os.IncidentManager.AuthListener) parameter #1:
    
MissingNullability: android.os.IncidentManager#requestAuthorization(int, String, int, android.os.IncidentManager.AuthListener) parameter #3:
    
MissingNullability: android.os.IncidentManager.IncidentReport#IncidentReport(android.os.Parcel) parameter #0:
    
MissingNullability: android.os.IncidentManager.IncidentReport#getInputStream():
    
MissingNullability: android.os.IncidentManager.IncidentReport#writeToParcel(android.os.Parcel, int) parameter #0:
    
MissingNullability: android.os.IncidentReportArgs#IncidentReportArgs(android.os.Parcel) parameter #0:
    
MissingNullability: android.os.IncidentReportArgs#addHeader(byte[]) parameter #0:
    
MissingNullability: android.os.IncidentReportArgs#readFromParcel(android.os.Parcel) parameter #0:
    
MissingNullability: android.os.IncidentReportArgs#writeToParcel(android.os.Parcel, int) parameter #0:
    
MissingNullability: android.os.ParcelFileDescriptor#getFile(java.io.FileDescriptor):
    
MissingNullability: android.os.ParcelFileDescriptor#getFile(java.io.FileDescriptor) parameter #0:
    
MissingNullability: android.os.RemoteCallback#RemoteCallback(android.os.RemoteCallback.OnResultListener) parameter #0:
    
MissingNullability: android.os.RemoteCallback#writeToParcel(android.os.Parcel, int) parameter #0:
    
MissingNullability: android.os.StrictMode#setViolationLogger(android.os.StrictMode.ViolationLogger) parameter #0:
    
MissingNullability: android.os.StrictMode.ViolationInfo#ViolationInfo(android.os.Parcel) parameter #0:
    
MissingNullability: android.os.StrictMode.ViolationInfo#ViolationInfo(android.os.Parcel, boolean) parameter #0:
    
MissingNullability: android.os.StrictMode.ViolationInfo#broadcastIntentAction:
    
MissingNullability: android.os.StrictMode.ViolationInfo#dump(android.util.Printer, String) parameter #0:
    
MissingNullability: android.os.StrictMode.ViolationInfo#dump(android.util.Printer, String) parameter #1:
    
MissingNullability: android.os.StrictMode.ViolationInfo#getStackTrace():
    
MissingNullability: android.os.StrictMode.ViolationInfo#getViolationClass():
    
MissingNullability: android.os.StrictMode.ViolationInfo#getViolationDetails():
    
MissingNullability: android.os.StrictMode.ViolationInfo#tags:
    
MissingNullability: android.os.StrictMode.ViolationInfo#writeToParcel(android.os.Parcel, int) parameter #0:
    
MissingNullability: android.os.StrictMode.ViolationLogger#log(android.os.StrictMode.ViolationInfo) parameter #0:
    
MissingNullability: android.os.UserHandle#of(int):
    
MissingNullability: android.os.VibrationEffect#RINGTONES:
    
MissingNullability: android.os.VibrationEffect#get(android.net.Uri, android.content.Context) parameter #0:
    
MissingNullability: android.os.VibrationEffect#get(android.net.Uri, android.content.Context) parameter #1:
    
MissingNullability: android.os.VibrationEffect#get(int):
    
MissingNullability: android.os.VibrationEffect#get(int, boolean):
    
MissingNullability: android.os.VibrationEffect.OneShot#OneShot(android.os.Parcel) parameter #0:
    
MissingNullability: android.os.VibrationEffect.OneShot#scale(float, int):
    
MissingNullability: android.os.VibrationEffect.OneShot#writeToParcel(android.os.Parcel, int) parameter #0:
    
MissingNullability: android.os.VibrationEffect.Prebaked#Prebaked(android.os.Parcel) parameter #0:
    
MissingNullability: android.os.VibrationEffect.Prebaked#writeToParcel(android.os.Parcel, int) parameter #0:
    
MissingNullability: android.os.VibrationEffect.Waveform#Waveform(android.os.Parcel) parameter #0:
    
MissingNullability: android.os.VibrationEffect.Waveform#Waveform(long[], int[], int) parameter #0:
    
MissingNullability: android.os.VibrationEffect.Waveform#Waveform(long[], int[], int) parameter #1:
    
MissingNullability: android.os.VibrationEffect.Waveform#getAmplitudes():
    
MissingNullability: android.os.VibrationEffect.Waveform#getTimings():
    
MissingNullability: android.os.VibrationEffect.Waveform#scale(float, int):
    
MissingNullability: android.os.VibrationEffect.Waveform#writeToParcel(android.os.Parcel, int) parameter #0:
    
MissingNullability: android.os.VintfObject#getHalNamesAndVersions():
    
MissingNullability: android.os.VintfObject#getSepolicyVersion():
    
MissingNullability: android.os.VintfObject#getTargetFrameworkCompatibilityMatrixVersion():
    
MissingNullability: android.os.VintfObject#getVndkSnapshots():
    
MissingNullability: android.os.VintfObject#report():
    
MissingNullability: android.os.VintfRuntimeInfo#getCpuInfo():
    
MissingNullability: android.os.VintfRuntimeInfo#getHardwareId():
    
MissingNullability: android.os.VintfRuntimeInfo#getKernelVersion():
    
MissingNullability: android.os.VintfRuntimeInfo#getNodeName():
    
MissingNullability: android.os.VintfRuntimeInfo#getOsName():
    
MissingNullability: android.os.VintfRuntimeInfo#getOsRelease():
    
MissingNullability: android.os.VintfRuntimeInfo#getOsVersion():
    
MissingNullability: android.os.WorkSource#add(int, String) parameter #1:
    
MissingNullability: android.os.WorkSource#addReturningNewbs(android.os.WorkSource) parameter #0:
    
MissingNullability: android.os.WorkSource#getName(int):
    
MissingNullability: android.os.WorkSource#setReturningDiffs(android.os.WorkSource) parameter #0:
    
MissingNullability: android.os.health.HealthKeys.Constants#Constants(Class) parameter #0:
    
MissingNullability: android.os.health.HealthKeys.Constants#getDataType():
    
MissingNullability: android.os.health.HealthKeys.Constants#getKeys(int):
    
MissingNullability: android.os.health.HealthStats#HealthStats(android.os.Parcel) parameter #0:
    
MissingNullability: android.os.health.HealthStatsParceler#HealthStatsParceler(android.os.Parcel) parameter #0:
    
MissingNullability: android.os.health.HealthStatsParceler#HealthStatsParceler(android.os.health.HealthStatsWriter) parameter #0:
    
MissingNullability: android.os.health.HealthStatsParceler#getHealthStats():
    
MissingNullability: android.os.health.HealthStatsParceler#writeToParcel(android.os.Parcel, int) parameter #0:
    
MissingNullability: android.os.health.HealthStatsWriter#HealthStatsWriter(android.os.health.HealthKeys.Constants) parameter #0:
    
MissingNullability: android.os.health.HealthStatsWriter#addMeasurements(int, String, long) parameter #1:
    
MissingNullability: android.os.health.HealthStatsWriter#addStats(int, String, android.os.health.HealthStatsWriter) parameter #1:
    
MissingNullability: android.os.health.HealthStatsWriter#addStats(int, String, android.os.health.HealthStatsWriter) parameter #2:
    
MissingNullability: android.os.health.HealthStatsWriter#addTimers(int, String, android.os.health.TimerStat) parameter #1:
    
MissingNullability: android.os.health.HealthStatsWriter#addTimers(int, String, android.os.health.TimerStat) parameter #2:
    
MissingNullability: android.os.health.HealthStatsWriter#flattenToParcel(android.os.Parcel) parameter #0:
    
MissingNullability: android.os.storage.StorageVolume#getPath():
    
MissingNullability: android.permission.RuntimePermissionPresentationInfo#writeToParcel(android.os.Parcel, int) parameter #0:
    
MissingNullability: android.provider.CalendarContract.Calendars#SYNC_WRITABLE_COLUMNS:
    
MissingNullability: android.provider.CalendarContract.Events#SYNC_WRITABLE_COLUMNS:
    
MissingNullability: android.provider.ContactsContract.CommonDataKinds.Phone#ENTERPRISE_CONTENT_URI:
    
MissingNullability: android.provider.ContactsContract.RawContactsEntity#CORP_CONTENT_URI:
    
MissingNullability: android.provider.DeviceConfig#getProperty(String, String):
    
MissingNullability: android.provider.DeviceConfig#getString(String, String, String):
    
MissingNullability: android.provider.MediaStore#deleteContributedMedia(android.content.Context, String, android.os.UserHandle) parameter #0:
    
MissingNullability: android.provider.MediaStore#deleteContributedMedia(android.content.Context, String, android.os.UserHandle) parameter #1:
    
MissingNullability: android.provider.MediaStore#deleteContributedMedia(android.content.Context, String, android.os.UserHandle) parameter #2:
    
MissingNullability: android.provider.MediaStore#getContributedMediaSize(android.content.Context, String, android.os.UserHandle) parameter #0:
    
MissingNullability: android.provider.MediaStore#getContributedMediaSize(android.content.Context, String, android.os.UserHandle) parameter #1:
    
MissingNullability: android.provider.MediaStore#getContributedMediaSize(android.content.Context, String, android.os.UserHandle) parameter #2:
    
MissingNullability: android.provider.MediaStore#scanFile(android.content.Context, java.io.File):
    
MissingNullability: android.provider.MediaStore#scanFile(android.content.Context, java.io.File) parameter #0:
    
MissingNullability: android.provider.MediaStore#scanFile(android.content.Context, java.io.File) parameter #1:
    
MissingNullability: android.provider.MediaStore#scanFileFromShell(android.content.Context, java.io.File):
    
MissingNullability: android.provider.MediaStore#scanFileFromShell(android.content.Context, java.io.File) parameter #0:
    
MissingNullability: android.provider.MediaStore#scanFileFromShell(android.content.Context, java.io.File) parameter #1:
    
MissingNullability: android.provider.MediaStore#scanVolume(android.content.Context, java.io.File) parameter #0:
    
MissingNullability: android.provider.MediaStore#scanVolume(android.content.Context, java.io.File) parameter #1:
    
MissingNullability: android.provider.MediaStore#waitForIdle(android.content.Context) parameter #0:
    
MissingNullability: android.security.KeyStoreException#KeyStoreException(int, String) parameter #1:
    
MissingNullability: android.security.keystore.AttestationUtils#attestDeviceIds(android.content.Context, int[], byte[]) parameter #0:
    
MissingNullability: android.security.keystore.KeyProtection.Builder#setBoundToSpecificSecureUserId(long):
    
MissingNullability: android.service.autofill.AutofillFieldClassificationService#onBind(android.content.Intent):
    
MissingNullability: android.service.autofill.AutofillFieldClassificationService#onBind(android.content.Intent) parameter #0:
    
MissingNullability: android.service.autofill.CompositeUserData#getCategoryIds():
    
MissingNullability: android.service.autofill.CompositeUserData#getDefaultFieldClassificationArgs():
    
MissingNullability: android.service.autofill.CompositeUserData#getFieldClassificationAlgorithms():
    
MissingNullability: android.service.autofill.CompositeUserData#getFieldClassificationArgs():
    
MissingNullability: android.service.autofill.CompositeUserData#getValues():
    
MissingNullability: android.service.autofill.CompositeUserData#writeToParcel(android.os.Parcel, int) parameter #0:
    
MissingNullability: android.service.autofill.UserData#getFieldClassificationAlgorithms():
    
MissingNullability: android.service.autofill.augmented.AugmentedAutofillService#dump(java.io.FileDescriptor, java.io.PrintWriter, String[]) parameter #0:
    
MissingNullability: android.service.autofill.augmented.AugmentedAutofillService#dump(java.io.FileDescriptor, java.io.PrintWriter, String[]) parameter #1:
    
MissingNullability: android.service.autofill.augmented.AugmentedAutofillService#dump(java.io.FileDescriptor, java.io.PrintWriter, String[]) parameter #2:
    
MissingNullability: android.service.autofill.augmented.AugmentedAutofillService#onUnbind(android.content.Intent) parameter #0:
    
MissingNullability: android.service.contentcapture.ContentCaptureService#dump(java.io.FileDescriptor, java.io.PrintWriter, String[]) parameter #0:
    
MissingNullability: android.service.contentcapture.ContentCaptureService#dump(java.io.FileDescriptor, java.io.PrintWriter, String[]) parameter #1:
    
MissingNullability: android.service.contentcapture.ContentCaptureService#dump(java.io.FileDescriptor, java.io.PrintWriter, String[]) parameter #2:
    
MissingNullability: android.service.notification.Adjustment#Adjustment(String, String, android.os.Bundle, CharSequence, int) parameter #0:
    
MissingNullability: android.service.notification.Adjustment#Adjustment(String, String, android.os.Bundle, CharSequence, int) parameter #1:
    
MissingNullability: android.service.notification.Adjustment#Adjustment(String, String, android.os.Bundle, CharSequence, int) parameter #2:
    
MissingNullability: android.service.notification.Adjustment#Adjustment(String, String, android.os.Bundle, CharSequence, int) parameter #3:
    
MissingNullability: android.service.notification.Adjustment#writeToParcel(android.os.Parcel, int) parameter #0:
    
MissingNullability: android.service.notification.NotificationAssistantService#attachBaseContext(android.content.Context) parameter #0:
    
MissingNullability: android.service.notification.NotificationStats#writeToParcel(android.os.Parcel, int) parameter #0:
    
MissingNullability: android.service.notification.SnoozeCriterion#SnoozeCriterion(String, CharSequence, CharSequence) parameter #0:
    
MissingNullability: android.service.notification.SnoozeCriterion#SnoozeCriterion(String, CharSequence, CharSequence) parameter #1:
    
MissingNullability: android.service.notification.SnoozeCriterion#SnoozeCriterion(String, CharSequence, CharSequence) parameter #2:
    
MissingNullability: android.service.notification.SnoozeCriterion#SnoozeCriterion(android.os.Parcel) parameter #0:
    
MissingNullability: android.service.notification.SnoozeCriterion#getConfirmation():
    
MissingNullability: android.service.notification.SnoozeCriterion#getExplanation():
    
MissingNullability: android.service.notification.SnoozeCriterion#getId():
    
MissingNullability: android.service.notification.SnoozeCriterion#writeToParcel(android.os.Parcel, int) parameter #0:
    
MissingNullability: android.telecom.Call.Details#getTelecomCallId():
    
MissingNullability: android.telecom.CallScreeningService.CallResponse.Builder#setShouldScreenCallFurther(boolean):
    
MissingNullability: android.telecom.Conference#getPrimaryConnection():
    
MissingNullability: android.telecom.PhoneAccountSuggestionService#onBind(android.content.Intent):
    
MissingNullability: android.telecom.PhoneAccountSuggestionService#onBind(android.content.Intent) parameter #0:
    
MissingNullability: android.telephony.CallQuality#writeToParcel(android.os.Parcel, int) parameter #0:
    
MissingNullability: android.telephony.DataSpecificRegistrationInfo#writeToParcel(android.os.Parcel, int) parameter #0:
    
MissingNullability: android.telephony.LteVopsSupportInfo#writeToParcel(android.os.Parcel, int) parameter #0:
    
MissingNullability: android.telephony.NetworkRegistrationInfo#writeToParcel(android.os.Parcel, int) parameter #0:
    
MissingNullability: android.telephony.ServiceState#addNetworkRegistrationInfo(android.telephony.NetworkRegistrationInfo) parameter #0:
    
MissingNullability: android.telephony.ServiceState#setCellBandwidths(int[]) parameter #0:
    
MissingNullability: android.telephony.SmsManager#checkSmsShortCodeDestination(String, String) parameter #0:
    
MissingNullability: android.telephony.SmsManager#checkSmsShortCodeDestination(String, String) parameter #1:
    
MissingNullability: android.telephony.TelephonyManager#checkCarrierPrivilegesForPackage(String) parameter #0:
    
MissingNullability: android.telephony.TelephonyManager#getCarrierPackageNamesForIntent(android.content.Intent):
    
MissingNullability: android.telephony.TelephonyManager#getCarrierPackageNamesForIntent(android.content.Intent) parameter #0:
    
MissingNullability: android.telephony.TelephonyManager#getLine1AlphaTag():
    
MissingNullability: android.telephony.TelephonyManager#getRadioHalVersion():
    
MissingNullability: android.telephony.TelephonyManager#setCarrierTestOverride(String, String, String, String, String, String, String) parameter #0:
    
MissingNullability: android.telephony.TelephonyManager#setCarrierTestOverride(String, String, String, String, String, String, String) parameter #1:
    
MissingNullability: android.telephony.TelephonyManager#setCarrierTestOverride(String, String, String, String, String, String, String) parameter #2:
    
MissingNullability: android.telephony.TelephonyManager#setCarrierTestOverride(String, String, String, String, String, String, String) parameter #3:
    
MissingNullability: android.telephony.TelephonyManager#setCarrierTestOverride(String, String, String, String, String, String, String) parameter #4:
    
MissingNullability: android.telephony.TelephonyManager#setCarrierTestOverride(String, String, String, String, String, String, String) parameter #5:
    
MissingNullability: android.telephony.TelephonyManager#setCarrierTestOverride(String, String, String, String, String, String, String) parameter #6:
    
MissingNullability: android.telephony.TelephonyManager#setCarrierTestOverride(String, String, String, String, String, String, String, String, String) parameter #0:
    
MissingNullability: android.telephony.TelephonyManager#setCarrierTestOverride(String, String, String, String, String, String, String, String, String) parameter #1:
    
MissingNullability: android.telephony.TelephonyManager#setCarrierTestOverride(String, String, String, String, String, String, String, String, String) parameter #2:
    
MissingNullability: android.telephony.TelephonyManager#setCarrierTestOverride(String, String, String, String, String, String, String, String, String) parameter #3:
    
MissingNullability: android.telephony.TelephonyManager#setCarrierTestOverride(String, String, String, String, String, String, String, String, String) parameter #4:
    
MissingNullability: android.telephony.TelephonyManager#setCarrierTestOverride(String, String, String, String, String, String, String, String, String) parameter #5:
    
MissingNullability: android.telephony.TelephonyManager#setCarrierTestOverride(String, String, String, String, String, String, String, String, String) parameter #6:
    
MissingNullability: android.telephony.TelephonyManager#setCarrierTestOverride(String, String, String, String, String, String, String, String, String) parameter #7:
    
MissingNullability: android.telephony.TelephonyManager#setCarrierTestOverride(String, String, String, String, String, String, String, String, String) parameter #8:
    
MissingNullability: android.telephony.ims.ImsCallForwardInfo#getNumber():
    
MissingNullability: android.telephony.ims.ImsCallForwardInfo#writeToParcel(android.os.Parcel, int) parameter #0:
    
MissingNullability: android.telephony.ims.ImsCallProfile#ImsCallProfile(int, int, android.os.Bundle, android.telephony.ims.ImsStreamMediaProfile) parameter #2:
    
MissingNullability: android.telephony.ims.ImsCallProfile#ImsCallProfile(int, int, android.os.Bundle, android.telephony.ims.ImsStreamMediaProfile) parameter #3:
    
MissingNullability: android.telephony.ims.ImsCallProfile#getCallExtra(String):
    
MissingNullability: android.telephony.ims.ImsCallProfile#getCallExtra(String) parameter #0:
    
MissingNullability: android.telephony.ims.ImsCallProfile#getCallExtra(String, String):
    
MissingNullability: android.telephony.ims.ImsCallProfile#getCallExtra(String, String) parameter #0:
    
MissingNullability: android.telephony.ims.ImsCallProfile#getCallExtra(String, String) parameter #1:
    
MissingNullability: android.telephony.ims.ImsCallProfile#getCallExtraBoolean(String) parameter #0:
    
MissingNullability: android.telephony.ims.ImsCallProfile#getCallExtraBoolean(String, boolean) parameter #0:
    
MissingNullability: android.telephony.ims.ImsCallProfile#getCallExtraInt(String) parameter #0:
    
MissingNullability: android.telephony.ims.ImsCallProfile#getCallExtraInt(String, int) parameter #0:
    
MissingNullability: android.telephony.ims.ImsCallProfile#getCallExtras():
    
MissingNullability: android.telephony.ims.ImsCallProfile#getMediaProfile():
    
MissingNullability: android.telephony.ims.ImsCallProfile#getVideoStateFromImsCallProfile(android.telephony.ims.ImsCallProfile) parameter #0:
    
MissingNullability: android.telephony.ims.ImsCallProfile#setCallExtra(String, String) parameter #0:
    
MissingNullability: android.telephony.ims.ImsCallProfile#setCallExtra(String, String) parameter #1:
    
MissingNullability: android.telephony.ims.ImsCallProfile#setCallExtraBoolean(String, boolean) parameter #0:
    
MissingNullability: android.telephony.ims.ImsCallProfile#setCallExtraInt(String, int) parameter #0:
    
MissingNullability: android.telephony.ims.ImsCallProfile#updateCallExtras(android.telephony.ims.ImsCallProfile) parameter #0:
    
MissingNullability: android.telephony.ims.ImsCallProfile#updateCallType(android.telephony.ims.ImsCallProfile) parameter #0:
    
MissingNullability: android.telephony.ims.ImsCallProfile#updateMediaProfile(android.telephony.ims.ImsCallProfile) parameter #0:
    
MissingNullability: android.telephony.ims.ImsCallProfile#writeToParcel(android.os.Parcel, int) parameter #0:
    
MissingNullability: android.telephony.ims.ImsCallSessionListener#callSessionConferenceExtendFailed(android.telephony.ims.ImsReasonInfo) parameter #0:
    
MissingNullability: android.telephony.ims.ImsCallSessionListener#callSessionConferenceExtendReceived(android.telephony.ims.stub.ImsCallSessionImplBase, android.telephony.ims.ImsCallProfile) parameter #0:
    
MissingNullability: android.telephony.ims.ImsCallSessionListener#callSessionConferenceExtendReceived(android.telephony.ims.stub.ImsCallSessionImplBase, android.telephony.ims.ImsCallProfile) parameter #1:
    
MissingNullability: android.telephony.ims.ImsCallSessionListener#callSessionConferenceExtended(android.telephony.ims.stub.ImsCallSessionImplBase, android.telephony.ims.ImsCallProfile) parameter #0:
    
MissingNullability: android.telephony.ims.ImsCallSessionListener#callSessionConferenceExtended(android.telephony.ims.stub.ImsCallSessionImplBase, android.telephony.ims.ImsCallProfile) parameter #1:
    
MissingNullability: android.telephony.ims.ImsCallSessionListener#callSessionConferenceStateUpdated(android.telephony.ims.ImsConferenceState) parameter #0:
    
MissingNullability: android.telephony.ims.ImsCallSessionListener#callSessionHandover(int, int, android.telephony.ims.ImsReasonInfo) parameter #2:
    
MissingNullability: android.telephony.ims.ImsCallSessionListener#callSessionHandoverFailed(int, int, android.telephony.ims.ImsReasonInfo) parameter #2:
    
MissingNullability: android.telephony.ims.ImsCallSessionListener#callSessionHeld(android.telephony.ims.ImsCallProfile) parameter #0:
    
MissingNullability: android.telephony.ims.ImsCallSessionListener#callSessionHoldFailed(android.telephony.ims.ImsReasonInfo) parameter #0:
    
MissingNullability: android.telephony.ims.ImsCallSessionListener#callSessionHoldReceived(android.telephony.ims.ImsCallProfile) parameter #0:
    
MissingNullability: android.telephony.ims.ImsCallSessionListener#callSessionInitiated(android.telephony.ims.ImsCallProfile) parameter #0:
    
MissingNullability: android.telephony.ims.ImsCallSessionListener#callSessionInitiatedFailed(android.telephony.ims.ImsReasonInfo) parameter #0:
    
MissingNullability: android.telephony.ims.ImsCallSessionListener#callSessionInviteParticipantsRequestFailed(android.telephony.ims.ImsReasonInfo) parameter #0:
    
MissingNullability: android.telephony.ims.ImsCallSessionListener#callSessionMergeComplete(android.telephony.ims.stub.ImsCallSessionImplBase) parameter #0:
    
MissingNullability: android.telephony.ims.ImsCallSessionListener#callSessionMergeFailed(android.telephony.ims.ImsReasonInfo) parameter #0:
    
MissingNullability: android.telephony.ims.ImsCallSessionListener#callSessionMergeStarted(android.telephony.ims.stub.ImsCallSessionImplBase, android.telephony.ims.ImsCallProfile) parameter #0:
    
MissingNullability: android.telephony.ims.ImsCallSessionListener#callSessionMergeStarted(android.telephony.ims.stub.ImsCallSessionImplBase, android.telephony.ims.ImsCallProfile) parameter #1:
    
MissingNullability: android.telephony.ims.ImsCallSessionListener#callSessionProgressing(android.telephony.ims.ImsStreamMediaProfile) parameter #0:
    
MissingNullability: android.telephony.ims.ImsCallSessionListener#callSessionRemoveParticipantsRequestFailed(android.telephony.ims.ImsReasonInfo) parameter #0:
    
MissingNullability: android.telephony.ims.ImsCallSessionListener#callSessionResumeFailed(android.telephony.ims.ImsReasonInfo) parameter #0:
    
MissingNullability: android.telephony.ims.ImsCallSessionListener#callSessionResumeReceived(android.telephony.ims.ImsCallProfile) parameter #0:
    
MissingNullability: android.telephony.ims.ImsCallSessionListener#callSessionResumed(android.telephony.ims.ImsCallProfile) parameter #0:
    
MissingNullability: android.telephony.ims.ImsCallSessionListener#callSessionRttMessageReceived(String) parameter #0:
    
MissingNullability: android.telephony.ims.ImsCallSessionListener#callSessionRttModifyRequestReceived(android.telephony.ims.ImsCallProfile) parameter #0:
    
MissingNullability: android.telephony.ims.ImsCallSessionListener#callSessionSuppServiceReceived(android.telephony.ims.ImsSuppServiceNotification) parameter #0:
    
MissingNullability: android.telephony.ims.ImsCallSessionListener#callSessionTerminated(android.telephony.ims.ImsReasonInfo) parameter #0:
    
MissingNullability: android.telephony.ims.ImsCallSessionListener#callSessionUpdateFailed(android.telephony.ims.ImsReasonInfo) parameter #0:
    
MissingNullability: android.telephony.ims.ImsCallSessionListener#callSessionUpdateReceived(android.telephony.ims.ImsCallProfile) parameter #0:
    
MissingNullability: android.telephony.ims.ImsCallSessionListener#callSessionUpdated(android.telephony.ims.ImsCallProfile) parameter #0:
    
MissingNullability: android.telephony.ims.ImsCallSessionListener#callSessionUssdMessageReceived(int, String) parameter #1:
    
MissingNullability: android.telephony.ims.ImsConferenceState#getConnectionStateForStatus(String) parameter #0:
    
MissingNullability: android.telephony.ims.ImsConferenceState#mParticipants:
    
MissingNullability: android.telephony.ims.ImsConferenceState#writeToParcel(android.os.Parcel, int) parameter #0:
    
MissingNullability: android.telephony.ims.ImsExternalCallState#writeToParcel(android.os.Parcel, int) parameter #0:
    
MissingNullability: android.telephony.ims.ImsReasonInfo#ImsReasonInfo(int, int, String) parameter #2:
    
MissingNullability: android.telephony.ims.ImsReasonInfo#getExtraMessage():
    
MissingNullability: android.telephony.ims.ImsReasonInfo#writeToParcel(android.os.Parcel, int) parameter #0:
    
MissingNullability: android.telephony.ims.ImsService#createMmTelFeature(int):
    
MissingNullability: android.telephony.ims.ImsService#createRcsFeature(int):
    
MissingNullability: android.telephony.ims.ImsService#getConfig(int):
    
MissingNullability: android.telephony.ims.ImsService#getRegistration(int):
    
MissingNullability: android.telephony.ims.ImsService#onUpdateSupportedImsFeatures(android.telephony.ims.stub.ImsFeatureConfiguration) parameter #0:
    
MissingNullability: android.telephony.ims.ImsService#querySupportedImsFeatures():
    
MissingNullability: android.telephony.ims.ImsSsData#writeToParcel(android.os.Parcel, int) parameter #0:
    
MissingNullability: android.telephony.ims.ImsSsInfo#writeToParcel(android.os.Parcel, int) parameter #0:
    
MissingNullability: android.telephony.ims.ImsStreamMediaProfile#copyFrom(android.telephony.ims.ImsStreamMediaProfile) parameter #0:
    
MissingNullability: android.telephony.ims.ImsStreamMediaProfile#writeToParcel(android.os.Parcel, int) parameter #0:
    
MissingNullability: android.telephony.ims.ImsSuppServiceNotification#ImsSuppServiceNotification(int, int, int, int, String, String[]) parameter #4:
    
MissingNullability: android.telephony.ims.ImsSuppServiceNotification#ImsSuppServiceNotification(int, int, int, int, String, String[]) parameter #5:
    
MissingNullability: android.telephony.ims.ImsSuppServiceNotification#history:
    
MissingNullability: android.telephony.ims.ImsSuppServiceNotification#number:
    
MissingNullability: android.telephony.ims.ImsSuppServiceNotification#writeToParcel(android.os.Parcel, int) parameter #0:
    
MissingNullability: android.telephony.ims.ImsUtListener#onSupplementaryServiceIndication(android.telephony.ims.ImsSsData) parameter #0:
    
MissingNullability: android.telephony.ims.ImsUtListener#onUtConfigurationCallBarringQueried(int, android.telephony.ims.ImsSsInfo[]) parameter #1:
    
MissingNullability: android.telephony.ims.ImsUtListener#onUtConfigurationCallForwardQueried(int, android.telephony.ims.ImsCallForwardInfo[]) parameter #1:
    
MissingNullability: android.telephony.ims.ImsUtListener#onUtConfigurationCallWaitingQueried(int, android.telephony.ims.ImsSsInfo[]) parameter #1:
    
MissingNullability: android.telephony.ims.ImsUtListener#onUtConfigurationQueried(int, android.os.Bundle) parameter #1:
    
MissingNullability: android.telephony.ims.ImsUtListener#onUtConfigurationQueryFailed(int, android.telephony.ims.ImsReasonInfo) parameter #1:
    
MissingNullability: android.telephony.ims.ImsUtListener#onUtConfigurationUpdateFailed(int, android.telephony.ims.ImsReasonInfo) parameter #1:
    
MissingNullability: android.telephony.ims.ImsVideoCallProvider#changeCameraCapabilities(android.telecom.VideoProfile.CameraCapabilities) parameter #0:
    
MissingNullability: android.telephony.ims.ImsVideoCallProvider#onSendSessionModifyRequest(android.telecom.VideoProfile, android.telecom.VideoProfile) parameter #0:
    
MissingNullability: android.telephony.ims.ImsVideoCallProvider#onSendSessionModifyRequest(android.telecom.VideoProfile, android.telecom.VideoProfile) parameter #1:
    
MissingNullability: android.telephony.ims.ImsVideoCallProvider#onSendSessionModifyResponse(android.telecom.VideoProfile) parameter #0:
    
MissingNullability: android.telephony.ims.ImsVideoCallProvider#onSetCamera(String) parameter #0:
    
MissingNullability: android.telephony.ims.ImsVideoCallProvider#onSetCamera(String, int) parameter #0:
    
MissingNullability: android.telephony.ims.ImsVideoCallProvider#onSetDisplaySurface(android.view.Surface) parameter #0:
    
MissingNullability: android.telephony.ims.ImsVideoCallProvider#onSetPauseImage(android.net.Uri) parameter #0:
    
MissingNullability: android.telephony.ims.ImsVideoCallProvider#onSetPreviewSurface(android.view.Surface) parameter #0:
    
MissingNullability: android.telephony.ims.ImsVideoCallProvider#receiveSessionModifyRequest(android.telecom.VideoProfile) parameter #0:
    
MissingNullability: android.telephony.ims.ImsVideoCallProvider#receiveSessionModifyResponse(int, android.telecom.VideoProfile, android.telecom.VideoProfile) parameter #1:
    
MissingNullability: android.telephony.ims.ImsVideoCallProvider#receiveSessionModifyResponse(int, android.telecom.VideoProfile, android.telecom.VideoProfile) parameter #2:
    
MissingNullability: android.telephony.ims.feature.CapabilityChangeRequest#getCapabilitiesToDisable():
    
MissingNullability: android.telephony.ims.feature.CapabilityChangeRequest#getCapabilitiesToEnable():
    
MissingNullability: android.telephony.ims.feature.CapabilityChangeRequest#writeToParcel(android.os.Parcel, int) parameter #0:
    
MissingNullability: android.telephony.ims.feature.ImsFeature#changeEnabledCapabilities(android.telephony.ims.feature.CapabilityChangeRequest, android.telephony.ims.feature.ImsFeature.CapabilityCallbackProxy) parameter #0:
    
MissingNullability: android.telephony.ims.feature.ImsFeature#changeEnabledCapabilities(android.telephony.ims.feature.CapabilityChangeRequest, android.telephony.ims.feature.ImsFeature.CapabilityCallbackProxy) parameter #1:
    
MissingNullability: android.telephony.ims.feature.MmTelFeature#queryCapabilityStatus():
    
MissingNullability: android.telephony.ims.feature.MmTelFeature.MmTelCapabilities#MmTelCapabilities(android.telephony.ims.feature.ImsFeature.Capabilities) parameter #0:
    
MissingNullability: android.telephony.ims.stub.ImsCallSessionImplBase#accept(int, android.telephony.ims.ImsStreamMediaProfile) parameter #1:
    
MissingNullability: android.telephony.ims.stub.ImsCallSessionImplBase#deflect(String) parameter #0:
    
MissingNullability: android.telephony.ims.stub.ImsCallSessionImplBase#extendToConference(String[]) parameter #0:
    
MissingNullability: android.telephony.ims.stub.ImsCallSessionImplBase#getCallId():
    
MissingNullability: android.telephony.ims.stub.ImsCallSessionImplBase#getCallProfile():
    
MissingNullability: android.telephony.ims.stub.ImsCallSessionImplBase#getImsVideoCallProvider():
    
MissingNullability: android.telephony.ims.stub.ImsCallSessionImplBase#getLocalCallProfile():
    
MissingNullability: android.telephony.ims.stub.ImsCallSessionImplBase#getProperty(String):
    
MissingNullability: android.telephony.ims.stub.ImsCallSessionImplBase#getProperty(String) parameter #0:
    
MissingNullability: android.telephony.ims.stub.ImsCallSessionImplBase#getRemoteCallProfile():
    
MissingNullability: android.telephony.ims.stub.ImsCallSessionImplBase#hold(android.telephony.ims.ImsStreamMediaProfile) parameter #0:
    
MissingNullability: android.telephony.ims.stub.ImsCallSessionImplBase#inviteParticipants(String[]) parameter #0:
    
MissingNullability: android.telephony.ims.stub.ImsCallSessionImplBase#removeParticipants(String[]) parameter #0:
    
MissingNullability: android.telephony.ims.stub.ImsCallSessionImplBase#resume(android.telephony.ims.ImsStreamMediaProfile) parameter #0:
    
MissingNullability: android.telephony.ims.stub.ImsCallSessionImplBase#sendDtmf(char, android.os.Message) parameter #1:
    
MissingNullability: android.telephony.ims.stub.ImsCallSessionImplBase#sendRttMessage(String) parameter #0:
    
MissingNullability: android.telephony.ims.stub.ImsCallSessionImplBase#sendRttModifyRequest(android.telephony.ims.ImsCallProfile) parameter #0:
    
MissingNullability: android.telephony.ims.stub.ImsCallSessionImplBase#sendUssd(String) parameter #0:
    
MissingNullability: android.telephony.ims.stub.ImsCallSessionImplBase#setListener(android.telephony.ims.ImsCallSessionListener) parameter #0:
    
MissingNullability: android.telephony.ims.stub.ImsCallSessionImplBase#start(String, android.telephony.ims.ImsCallProfile) parameter #0:
    
MissingNullability: android.telephony.ims.stub.ImsCallSessionImplBase#start(String, android.telephony.ims.ImsCallProfile) parameter #1:
    
MissingNullability: android.telephony.ims.stub.ImsCallSessionImplBase#startConference(String[], android.telephony.ims.ImsCallProfile) parameter #0:
    
MissingNullability: android.telephony.ims.stub.ImsCallSessionImplBase#startConference(String[], android.telephony.ims.ImsCallProfile) parameter #1:
    
MissingNullability: android.telephony.ims.stub.ImsCallSessionImplBase#update(int, android.telephony.ims.ImsStreamMediaProfile) parameter #1:
    
MissingNullability: android.telephony.ims.stub.ImsCallSessionImplBase.State#toString(int):
    
MissingNullability: android.telephony.ims.stub.ImsConfigImplBase#getConfigString(int):
    
MissingNullability: android.telephony.ims.stub.ImsConfigImplBase#notifyProvisionedValueChanged(int, String) parameter #1:
    
MissingNullability: android.telephony.ims.stub.ImsConfigImplBase#setConfig(int, String) parameter #1:
    
MissingNullability: android.telephony.ims.stub.ImsFeatureConfiguration#getServiceFeatures():
    
MissingNullability: android.telephony.ims.stub.ImsFeatureConfiguration#writeToParcel(android.os.Parcel, int) parameter #0:
    
MissingNullability: android.telephony.ims.stub.ImsFeatureConfiguration.Builder#addFeature(int, int):
    
MissingNullability: android.telephony.ims.stub.ImsFeatureConfiguration.Builder#build():
    
MissingNullability: android.telephony.ims.stub.ImsMultiEndpointImplBase#onImsExternalCallStateUpdate(java.util.List<android.telephony.ims.ImsExternalCallState>) parameter #0:
    
MissingNullability: android.telephony.ims.stub.ImsRegistrationImplBase#onDeregistered(android.telephony.ims.ImsReasonInfo) parameter #0:
    
MissingNullability: android.telephony.ims.stub.ImsRegistrationImplBase#onSubscriberAssociatedUriChanged(android.net.Uri[]) parameter #0:
    
MissingNullability: android.telephony.ims.stub.ImsRegistrationImplBase#onTechnologyChangeFailed(int, android.telephony.ims.ImsReasonInfo) parameter #1:
    
MissingNullability: android.telephony.ims.stub.ImsSmsImplBase#getSmsFormat():
    
MissingNullability: android.telephony.ims.stub.ImsSmsImplBase#onSmsReceived(int, String, byte[]) parameter #1:
    
MissingNullability: android.telephony.ims.stub.ImsSmsImplBase#onSmsReceived(int, String, byte[]) parameter #2:
    
MissingNullability: android.telephony.ims.stub.ImsSmsImplBase#onSmsStatusReportReceived(int, String, byte[]) parameter #1:
    
MissingNullability: android.telephony.ims.stub.ImsSmsImplBase#onSmsStatusReportReceived(int, String, byte[]) parameter #2:
    
MissingNullability: android.telephony.ims.stub.ImsSmsImplBase#onSmsStatusReportReceived(int, int, String, byte[]) parameter #2:
    
MissingNullability: android.telephony.ims.stub.ImsSmsImplBase#onSmsStatusReportReceived(int, int, String, byte[]) parameter #3:
    
MissingNullability: android.telephony.ims.stub.ImsSmsImplBase#sendSms(int, int, String, String, boolean, byte[]) parameter #2:
    
MissingNullability: android.telephony.ims.stub.ImsSmsImplBase#sendSms(int, int, String, String, boolean, byte[]) parameter #3:
    
MissingNullability: android.telephony.ims.stub.ImsSmsImplBase#sendSms(int, int, String, String, boolean, byte[]) parameter #5:
    
MissingNullability: android.telephony.ims.stub.ImsUtImplBase#queryCallForward(int, String) parameter #1:
    
MissingNullability: android.telephony.ims.stub.ImsUtImplBase#setListener(android.telephony.ims.ImsUtListener) parameter #0:
    
MissingNullability: android.telephony.ims.stub.ImsUtImplBase#transact(android.os.Bundle) parameter #0:
    
MissingNullability: android.telephony.ims.stub.ImsUtImplBase#updateCallBarring(int, int, String[]) parameter #2:
    
MissingNullability: android.telephony.ims.stub.ImsUtImplBase#updateCallBarringForServiceClass(int, int, String[], int) parameter #2:
    
MissingNullability: android.telephony.ims.stub.ImsUtImplBase#updateCallForward(int, int, String, int, int) parameter #2:
    
MissingNullability: android.telephony.mbms.DownloadRequest.Builder#setServiceId(String):
    
MissingNullability: android.telephony.mbms.DownloadRequest.Builder#setServiceId(String) parameter #0:
    
MissingNullability: android.telephony.mbms.FileInfo#FileInfo(android.net.Uri, String) parameter #0:
    
MissingNullability: android.telephony.mbms.FileInfo#FileInfo(android.net.Uri, String) parameter #1:
    
MissingNullability: android.telephony.mbms.FileServiceInfo#FileServiceInfo(java.util.Map<java.util.Locale,java.lang.String>, String, java.util.List<java.util.Locale>, String, java.util.Date, java.util.Date, java.util.List<android.telephony.mbms.FileInfo>) parameter #0:
    
MissingNullability: android.telephony.mbms.FileServiceInfo#FileServiceInfo(java.util.Map<java.util.Locale,java.lang.String>, String, java.util.List<java.util.Locale>, String, java.util.Date, java.util.Date, java.util.List<android.telephony.mbms.FileInfo>) parameter #1:
    
MissingNullability: android.telephony.mbms.FileServiceInfo#FileServiceInfo(java.util.Map<java.util.Locale,java.lang.String>, String, java.util.List<java.util.Locale>, String, java.util.Date, java.util.Date, java.util.List<android.telephony.mbms.FileInfo>) parameter #2:
    
MissingNullability: android.telephony.mbms.FileServiceInfo#FileServiceInfo(java.util.Map<java.util.Locale,java.lang.String>, String, java.util.List<java.util.Locale>, String, java.util.Date, java.util.Date, java.util.List<android.telephony.mbms.FileInfo>) parameter #3:
    
MissingNullability: android.telephony.mbms.FileServiceInfo#FileServiceInfo(java.util.Map<java.util.Locale,java.lang.String>, String, java.util.List<java.util.Locale>, String, java.util.Date, java.util.Date, java.util.List<android.telephony.mbms.FileInfo>) parameter #4:
    
MissingNullability: android.telephony.mbms.FileServiceInfo#FileServiceInfo(java.util.Map<java.util.Locale,java.lang.String>, String, java.util.List<java.util.Locale>, String, java.util.Date, java.util.Date, java.util.List<android.telephony.mbms.FileInfo>) parameter #5:
    
MissingNullability: android.telephony.mbms.FileServiceInfo#FileServiceInfo(java.util.Map<java.util.Locale,java.lang.String>, String, java.util.List<java.util.Locale>, String, java.util.Date, java.util.Date, java.util.List<android.telephony.mbms.FileInfo>) parameter #6:
    
MissingNullability: android.telephony.mbms.StreamingServiceInfo#StreamingServiceInfo(java.util.Map<java.util.Locale,java.lang.String>, String, java.util.List<java.util.Locale>, String, java.util.Date, java.util.Date) parameter #0:
    
MissingNullability: android.telephony.mbms.StreamingServiceInfo#StreamingServiceInfo(java.util.Map<java.util.Locale,java.lang.String>, String, java.util.List<java.util.Locale>, String, java.util.Date, java.util.Date) parameter #1:
    
MissingNullability: android.telephony.mbms.StreamingServiceInfo#StreamingServiceInfo(java.util.Map<java.util.Locale,java.lang.String>, String, java.util.List<java.util.Locale>, String, java.util.Date, java.util.Date) parameter #2:
    
MissingNullability: android.telephony.mbms.StreamingServiceInfo#StreamingServiceInfo(java.util.Map<java.util.Locale,java.lang.String>, String, java.util.List<java.util.Locale>, String, java.util.Date, java.util.Date) parameter #3:
    
MissingNullability: android.telephony.mbms.StreamingServiceInfo#StreamingServiceInfo(java.util.Map<java.util.Locale,java.lang.String>, String, java.util.List<java.util.Locale>, String, java.util.Date, java.util.Date) parameter #4:
    
MissingNullability: android.telephony.mbms.StreamingServiceInfo#StreamingServiceInfo(java.util.Map<java.util.Locale,java.lang.String>, String, java.util.List<java.util.Locale>, String, java.util.Date, java.util.Date) parameter #5:
    
MissingNullability: android.telephony.mbms.UriPathPair#getContentUri():
    
MissingNullability: android.telephony.mbms.UriPathPair#getFilePathUri():
    
MissingNullability: android.telephony.mbms.UriPathPair#writeToParcel(android.os.Parcel, int) parameter #0:
    
MissingNullability: android.telephony.mbms.vendor.MbmsDownloadServiceBase#addProgressListener(android.telephony.mbms.DownloadRequest, android.telephony.mbms.DownloadProgressListener) parameter #0:
    
MissingNullability: android.telephony.mbms.vendor.MbmsDownloadServiceBase#addProgressListener(android.telephony.mbms.DownloadRequest, android.telephony.mbms.DownloadProgressListener) parameter #1:
    
MissingNullability: android.telephony.mbms.vendor.MbmsDownloadServiceBase#addStatusListener(android.telephony.mbms.DownloadRequest, android.telephony.mbms.DownloadStatusListener) parameter #0:
    
MissingNullability: android.telephony.mbms.vendor.MbmsDownloadServiceBase#addStatusListener(android.telephony.mbms.DownloadRequest, android.telephony.mbms.DownloadStatusListener) parameter #1:
    
MissingNullability: android.telephony.mbms.vendor.MbmsDownloadServiceBase#asBinder():
    
MissingNullability: android.telephony.mbms.vendor.MbmsDownloadServiceBase#cancelDownload(android.telephony.mbms.DownloadRequest) parameter #0:
    
MissingNullability: android.telephony.mbms.vendor.MbmsDownloadServiceBase#download(android.telephony.mbms.DownloadRequest) parameter #0:
    
MissingNullability: android.telephony.mbms.vendor.MbmsDownloadServiceBase#initialize(int, android.telephony.mbms.MbmsDownloadSessionCallback) parameter #1:
    
MissingNullability: android.telephony.mbms.vendor.MbmsDownloadServiceBase#onTransact(int, android.os.Parcel, android.os.Parcel, int) parameter #1:
    
MissingNullability: android.telephony.mbms.vendor.MbmsDownloadServiceBase#onTransact(int, android.os.Parcel, android.os.Parcel, int) parameter #2:
    
MissingNullability: android.telephony.mbms.vendor.MbmsDownloadServiceBase#removeProgressListener(android.telephony.mbms.DownloadRequest, android.telephony.mbms.DownloadProgressListener) parameter #0:
    
MissingNullability: android.telephony.mbms.vendor.MbmsDownloadServiceBase#removeProgressListener(android.telephony.mbms.DownloadRequest, android.telephony.mbms.DownloadProgressListener) parameter #1:
    
MissingNullability: android.telephony.mbms.vendor.MbmsDownloadServiceBase#removeStatusListener(android.telephony.mbms.DownloadRequest, android.telephony.mbms.DownloadStatusListener) parameter #0:
    
MissingNullability: android.telephony.mbms.vendor.MbmsDownloadServiceBase#removeStatusListener(android.telephony.mbms.DownloadRequest, android.telephony.mbms.DownloadStatusListener) parameter #1:
    
MissingNullability: android.telephony.mbms.vendor.MbmsDownloadServiceBase#requestDownloadState(android.telephony.mbms.DownloadRequest, android.telephony.mbms.FileInfo) parameter #0:
    
MissingNullability: android.telephony.mbms.vendor.MbmsDownloadServiceBase#requestDownloadState(android.telephony.mbms.DownloadRequest, android.telephony.mbms.FileInfo) parameter #1:
    
MissingNullability: android.telephony.mbms.vendor.MbmsDownloadServiceBase#requestUpdateFileServices(int, java.util.List<java.lang.String>) parameter #1:
    
MissingNullability: android.telephony.mbms.vendor.MbmsDownloadServiceBase#resetDownloadKnowledge(android.telephony.mbms.DownloadRequest) parameter #0:
    
MissingNullability: android.telephony.mbms.vendor.MbmsDownloadServiceBase#setTempFileRootDirectory(int, String) parameter #1:
    
MissingNullability: android.telephony.mbms.vendor.MbmsGroupCallServiceBase#onBind(android.content.Intent):
    
MissingNullability: android.telephony.mbms.vendor.MbmsGroupCallServiceBase#onBind(android.content.Intent) parameter #0:
    
MissingNullability: android.telephony.mbms.vendor.MbmsStreamingServiceBase#asBinder():
    
MissingNullability: android.telephony.mbms.vendor.MbmsStreamingServiceBase#getPlaybackUri(int, String) parameter #1:
    
MissingNullability: android.telephony.mbms.vendor.MbmsStreamingServiceBase#initialize(android.telephony.mbms.MbmsStreamingSessionCallback, int) parameter #0:
    
MissingNullability: android.telephony.mbms.vendor.MbmsStreamingServiceBase#onTransact(int, android.os.Parcel, android.os.Parcel, int) parameter #1:
    
MissingNullability: android.telephony.mbms.vendor.MbmsStreamingServiceBase#onTransact(int, android.os.Parcel, android.os.Parcel, int) parameter #2:
    
MissingNullability: android.telephony.mbms.vendor.MbmsStreamingServiceBase#requestUpdateStreamingServices(int, java.util.List<java.lang.String>) parameter #1:
    
MissingNullability: android.telephony.mbms.vendor.MbmsStreamingServiceBase#startStreaming(int, String, android.telephony.mbms.StreamingServiceCallback) parameter #1:
    
MissingNullability: android.telephony.mbms.vendor.MbmsStreamingServiceBase#startStreaming(int, String, android.telephony.mbms.StreamingServiceCallback) parameter #2:
    
MissingNullability: android.telephony.mbms.vendor.MbmsStreamingServiceBase#stopStreaming(int, String) parameter #1:
    
MissingNullability: android.telephony.mbms.vendor.VendorUtils#getAppReceiverFromPackageName(android.content.Context, String):
    
MissingNullability: android.telephony.mbms.vendor.VendorUtils#getAppReceiverFromPackageName(android.content.Context, String) parameter #0:
    
MissingNullability: android.telephony.mbms.vendor.VendorUtils#getAppReceiverFromPackageName(android.content.Context, String) parameter #1:
    
MissingNullability: android.text.Selection.MemoryTextWatcher#afterTextChanged(android.text.Editable) parameter #0:
    
MissingNullability: android.text.Selection.MemoryTextWatcher#beforeTextChanged(CharSequence, int, int, int) parameter #0:
    
MissingNullability: android.text.Selection.MemoryTextWatcher#onTextChanged(CharSequence, int, int, int) parameter #0:
    
MissingNullability: android.transition.TransitionManager#getTransition(android.transition.Scene):
    
MissingNullability: android.transition.TransitionManager#getTransition(android.transition.Scene) parameter #0:
    
MissingNullability: android.util.FeatureFlagUtils#getAllFeatureFlags():
    
MissingNullability: android.util.FeatureFlagUtils#isEnabled(android.content.Context, String) parameter #0:
    
MissingNullability: android.util.FeatureFlagUtils#isEnabled(android.content.Context, String) parameter #1:
    
MissingNullability: android.util.FeatureFlagUtils#setEnabled(android.content.Context, String, boolean) parameter #0:
    
MissingNullability: android.util.FeatureFlagUtils#setEnabled(android.content.Context, String, boolean) parameter #1:
    
MissingNullability: android.util.TimeUtils#formatDuration(long):
    
MissingNullability: android.util.proto.EncodedBuffer#dumpBuffers(String) parameter #0:
    
MissingNullability: android.util.proto.EncodedBuffer#dumpByteString(String, String, byte[]) parameter #0:
    
MissingNullability: android.util.proto.EncodedBuffer#dumpByteString(String, String, byte[]) parameter #1:
    
MissingNullability: android.util.proto.EncodedBuffer#dumpByteString(String, String, byte[]) parameter #2:
    
MissingNullability: android.util.proto.EncodedBuffer#getBytes(int):
    
MissingNullability: android.util.proto.EncodedBuffer#getDebugString():
    
MissingNullability: android.util.proto.EncodedBuffer#writeRawBuffer(byte[]) parameter #0:
    
MissingNullability: android.util.proto.EncodedBuffer#writeRawBuffer(byte[], int, int) parameter #0:
    
MissingNullability: android.util.proto.ProtoOutputStream#ProtoOutputStream(java.io.FileDescriptor) parameter #0:
    
MissingNullability: android.util.proto.ProtoOutputStream#ProtoOutputStream(java.io.OutputStream) parameter #0:
    
MissingNullability: android.util.proto.ProtoOutputStream#dump(String) parameter #0:
    
MissingNullability: android.util.proto.ProtoOutputStream#getBytes():
    
MissingNullability: android.util.proto.ProtoOutputStream#write(long, String) parameter #1:
    
MissingNullability: android.util.proto.ProtoOutputStream#write(long, byte[]) parameter #1:
    
MissingNullability: android.util.proto.ProtoOutputStream#writeBytes(long, byte[]) parameter #1:
    
MissingNullability: android.util.proto.ProtoOutputStream#writeObject(long, byte[]) parameter #1:
    
MissingNullability: android.util.proto.ProtoOutputStream#writePackedBool(long, boolean[]) parameter #1:
    
MissingNullability: android.util.proto.ProtoOutputStream#writePackedDouble(long, double[]) parameter #1:
    
MissingNullability: android.util.proto.ProtoOutputStream#writePackedEnum(long, int[]) parameter #1:
    
MissingNullability: android.util.proto.ProtoOutputStream#writePackedFixed32(long, int[]) parameter #1:
    
MissingNullability: android.util.proto.ProtoOutputStream#writePackedFixed64(long, long[]) parameter #1:
    
MissingNullability: android.util.proto.ProtoOutputStream#writePackedFloat(long, float[]) parameter #1:
    
MissingNullability: android.util.proto.ProtoOutputStream#writePackedInt32(long, int[]) parameter #1:
    
MissingNullability: android.util.proto.ProtoOutputStream#writePackedInt64(long, long[]) parameter #1:
    
MissingNullability: android.util.proto.ProtoOutputStream#writePackedSFixed32(long, int[]) parameter #1:
    
MissingNullability: android.util.proto.ProtoOutputStream#writePackedSFixed64(long, long[]) parameter #1:
    
MissingNullability: android.util.proto.ProtoOutputStream#writePackedSInt32(long, int[]) parameter #1:
    
MissingNullability: android.util.proto.ProtoOutputStream#writePackedSInt64(long, long[]) parameter #1:
    
MissingNullability: android.util.proto.ProtoOutputStream#writePackedUInt32(long, int[]) parameter #1:
    
MissingNullability: android.util.proto.ProtoOutputStream#writePackedUInt64(long, long[]) parameter #1:
    
MissingNullability: android.util.proto.ProtoOutputStream#writeRepeatedBytes(long, byte[]) parameter #1:
    
MissingNullability: android.util.proto.ProtoOutputStream#writeRepeatedObject(long, byte[]) parameter #1:
    
MissingNullability: android.util.proto.ProtoOutputStream#writeRepeatedString(long, String) parameter #1:
    
MissingNullability: android.util.proto.ProtoOutputStream#writeString(long, String) parameter #1:
    
MissingNullability: android.util.proto.ProtoParseException#ProtoParseException(String) parameter #0:
    
MissingNullability: android.util.proto.ProtoStream#FIELD_TYPE_NAMES:
    
MissingNullability: android.util.proto.ProtoStream#getFieldCountString(long):
    
MissingNullability: android.util.proto.ProtoStream#getFieldIdString(long):
    
MissingNullability: android.util.proto.ProtoStream#getFieldTypeString(long):
    
MissingNullability: android.util.proto.ProtoStream#getWireTypeString(int):
    
MissingNullability: android.util.proto.ProtoStream#token2String(long):
    
MissingNullability: android.util.proto.WireTypeMismatchException#WireTypeMismatchException(String) parameter #0:
    
MissingNullability: android.view.Choreographer#postCallback(int, Runnable, Object) parameter #1:
    
MissingNullability: android.view.Choreographer#postCallback(int, Runnable, Object) parameter #2:
    
MissingNullability: android.view.Choreographer#postCallbackDelayed(int, Runnable, Object, long) parameter #1:
    
MissingNullability: android.view.Choreographer#postCallbackDelayed(int, Runnable, Object, long) parameter #2:
    
MissingNullability: android.view.Choreographer#removeCallbacks(int, Runnable, Object) parameter #1:
    
MissingNullability: android.view.Choreographer#removeCallbacks(int, Runnable, Object) parameter #2:
    
MissingNullability: android.view.FocusFinder#sort(android.view.View[], int, int, android.view.ViewGroup, boolean) parameter #0:
    
MissingNullability: android.view.FocusFinder#sort(android.view.View[], int, int, android.view.ViewGroup, boolean) parameter #3:
    
MissingNullability: android.view.KeyEvent#actionToString(int):
    
MissingNullability: android.view.SurfaceControlViewHost#SurfaceControlViewHost(android.content.Context, android.view.Display, android.view.SurfaceControl) parameter #0:
    
MissingNullability: android.view.SurfaceControlViewHost#SurfaceControlViewHost(android.content.Context, android.view.Display, android.view.SurfaceControl) parameter #1:
    
MissingNullability: android.view.SurfaceControlViewHost#SurfaceControlViewHost(android.content.Context, android.view.Display, android.view.SurfaceControl) parameter #2:
    
MissingNullability: android.view.SurfaceControlViewHost#addView(android.view.View, android.view.WindowManager.LayoutParams) parameter #0:
    
MissingNullability: android.view.SurfaceControlViewHost#addView(android.view.View, android.view.WindowManager.LayoutParams) parameter #1:
    
MissingNullability: android.view.SurfaceControlViewHost#relayout(android.view.WindowManager.LayoutParams) parameter #0:
    
MissingNullability: android.view.View#getTooltipView():
    
MissingNullability: android.view.View#isDefaultFocusHighlightNeeded(android.graphics.drawable.Drawable, android.graphics.drawable.Drawable) parameter #0:
    
MissingNullability: android.view.View#isDefaultFocusHighlightNeeded(android.graphics.drawable.Drawable, android.graphics.drawable.Drawable) parameter #1:
    
MissingNullability: android.view.ViewDebug#startRenderingCommandsCapture(android.view.View, java.util.concurrent.Executor, java.util.concurrent.Callable<java.io.OutputStream>) parameter #0:
    
MissingNullability: android.view.ViewDebug#startRenderingCommandsCapture(android.view.View, java.util.concurrent.Executor, java.util.concurrent.Callable<java.io.OutputStream>) parameter #1:
    
MissingNullability: android.view.ViewDebug#startRenderingCommandsCapture(android.view.View, java.util.concurrent.Executor, java.util.concurrent.Callable<java.io.OutputStream>) parameter #2:
    
MissingNullability: android.view.ViewDebug#startRenderingCommandsCapture(android.view.View, java.util.concurrent.Executor, java.util.function.Function<android.graphics.Picture,java.lang.Boolean>) parameter #0:
    
MissingNullability: android.view.ViewDebug#startRenderingCommandsCapture(android.view.View, java.util.concurrent.Executor, java.util.function.Function<android.graphics.Picture,java.lang.Boolean>) parameter #1:
    
MissingNullability: android.view.ViewDebug#startRenderingCommandsCapture(android.view.View, java.util.concurrent.Executor, java.util.function.Function<android.graphics.Picture,java.lang.Boolean>) parameter #2:
    
MissingNullability: android.view.WindowManager.LayoutParams#accessibilityTitle:
    
MissingNullability: android.view.accessibility.AccessibilityManager.AccessibilityServicesStateChangeListener#onAccessibilityServicesStateChanged(android.view.accessibility.AccessibilityManager) parameter #0:
    
MissingNullability: android.view.accessibility.AccessibilityNodeInfo#setNumInstancesInUseCounter(java.util.concurrent.atomic.AtomicInteger) parameter #0:
    
MissingNullability: android.view.accessibility.AccessibilityNodeInfo#writeToParcelNoRecycle(android.os.Parcel, int) parameter #0:
    
MissingNullability: android.view.accessibility.AccessibilityWindowInfo#setNumInstancesInUseCounter(java.util.concurrent.atomic.AtomicInteger) parameter #0:
    
MissingNullability: android.view.contentcapture.ContentCaptureEvent#writeToParcel(android.os.Parcel, int) parameter #0:
    
MissingNullability: android.view.contentcapture.ViewNode.ViewStructureImpl#asyncNewChild(int):
    
MissingNullability: android.view.contentcapture.ViewNode.ViewStructureImpl#getAutofillId():
    
MissingNullability: android.view.contentcapture.ViewNode.ViewStructureImpl#getExtras():
    
MissingNullability: android.view.contentcapture.ViewNode.ViewStructureImpl#getHint():
    
MissingNullability: android.view.contentcapture.ViewNode.ViewStructureImpl#getNode():
    
MissingNullability: android.view.contentcapture.ViewNode.ViewStructureImpl#getTempRect():
    
MissingNullability: android.view.contentcapture.ViewNode.ViewStructureImpl#getText():
    
MissingNullability: android.view.contentcapture.ViewNode.ViewStructureImpl#newChild(int):
    
MissingNullability: android.view.contentcapture.ViewNode.ViewStructureImpl#newHtmlInfoBuilder(String):
    
MissingNullability: android.view.contentcapture.ViewNode.ViewStructureImpl#newHtmlInfoBuilder(String) parameter #0:
    
MissingNullability: android.view.contentcapture.ViewNode.ViewStructureImpl#setAutofillHints(String[]) parameter #0:
    
MissingNullability: android.view.contentcapture.ViewNode.ViewStructureImpl#setAutofillId(android.view.autofill.AutofillId) parameter #0:
    
MissingNullability: android.view.contentcapture.ViewNode.ViewStructureImpl#setAutofillId(android.view.autofill.AutofillId, int) parameter #0:
    
MissingNullability: android.view.contentcapture.ViewNode.ViewStructureImpl#setAutofillOptions(CharSequence[]) parameter #0:
    
MissingNullability: android.view.contentcapture.ViewNode.ViewStructureImpl#setAutofillValue(android.view.autofill.AutofillValue) parameter #0:
    
MissingNullability: android.view.contentcapture.ViewNode.ViewStructureImpl#setClassName(String) parameter #0:
    
MissingNullability: android.view.contentcapture.ViewNode.ViewStructureImpl#setContentDescription(CharSequence) parameter #0:
    
MissingNullability: android.view.contentcapture.ViewNode.ViewStructureImpl#setHint(CharSequence) parameter #0:
    
MissingNullability: android.view.contentcapture.ViewNode.ViewStructureImpl#setHintIdEntry(String) parameter #0:
    
MissingNullability: android.view.contentcapture.ViewNode.ViewStructureImpl#setHtmlInfo(android.view.ViewStructure.HtmlInfo) parameter #0:
    
MissingNullability: android.view.contentcapture.ViewNode.ViewStructureImpl#setId(int, String, String, String) parameter #1:
    
MissingNullability: android.view.contentcapture.ViewNode.ViewStructureImpl#setId(int, String, String, String) parameter #2:
    
MissingNullability: android.view.contentcapture.ViewNode.ViewStructureImpl#setId(int, String, String, String) parameter #3:
    
MissingNullability: android.view.contentcapture.ViewNode.ViewStructureImpl#setLocaleList(android.os.LocaleList) parameter #0:
    
MissingNullability: android.view.contentcapture.ViewNode.ViewStructureImpl#setText(CharSequence) parameter #0:
    
MissingNullability: android.view.contentcapture.ViewNode.ViewStructureImpl#setText(CharSequence, int, int) parameter #0:
    
MissingNullability: android.view.contentcapture.ViewNode.ViewStructureImpl#setTextLines(int[], int[]) parameter #0:
    
MissingNullability: android.view.contentcapture.ViewNode.ViewStructureImpl#setTextLines(int[], int[]) parameter #1:
    
MissingNullability: android.view.contentcapture.ViewNode.ViewStructureImpl#setTransformation(android.graphics.Matrix) parameter #0:
    
MissingNullability: android.view.contentcapture.ViewNode.ViewStructureImpl#setWebDomain(String) parameter #0:
    
MissingNullability: android.widget.CalendarView#getBoundsForDate(long, android.graphics.Rect) parameter #1:
    
MissingNullability: android.widget.ImageView#isDefaultFocusHighlightNeeded(android.graphics.drawable.Drawable, android.graphics.drawable.Drawable) parameter #0:
    
MissingNullability: android.widget.ImageView#isDefaultFocusHighlightNeeded(android.graphics.drawable.Drawable, android.graphics.drawable.Drawable) parameter #1:
    
MissingNullability: android.widget.Magnifier#getMagnifierDefaultSize():
    
MissingNullability: android.widget.Magnifier#setOnOperationCompleteCallback(android.widget.Magnifier.Callback) parameter #0:
    
MissingNullability: android.widget.NumberPicker#getDisplayedValueForCurrentSelection():
    
MissingNullability: android.widget.PopupMenu#getMenuListView():
    
MissingNullability: android.widget.TimePicker#getAmView():
    
MissingNullability: android.widget.TimePicker#getHourView():
    
MissingNullability: android.widget.TimePicker#getMinuteView():
    
MissingNullability: android.widget.TimePicker#getPmView():
    


MutableBareField: android.content.AutofillOptions#appDisabledExpiration:
    
MutableBareField: android.content.AutofillOptions#augmentedAutofillEnabled:
    
MutableBareField: android.content.AutofillOptions#disabledActivities:
    
MutableBareField: android.content.AutofillOptions#whitelistedActivitiesForAugmentedAutofill:
    
MutableBareField: android.database.sqlite.SQLiteDebug.DbStats#cache:
    
MutableBareField: android.database.sqlite.SQLiteDebug.DbStats#dbName:
    
MutableBareField: android.database.sqlite.SQLiteDebug.DbStats#dbSize:
    
MutableBareField: android.database.sqlite.SQLiteDebug.DbStats#lookaside:
    
MutableBareField: android.database.sqlite.SQLiteDebug.DbStats#pageSize:
    
MutableBareField: android.database.sqlite.SQLiteDebug.PagerStats#dbStats:
    
MutableBareField: android.database.sqlite.SQLiteDebug.PagerStats#largestMemAlloc:
    
MutableBareField: android.database.sqlite.SQLiteDebug.PagerStats#memoryUsed:
    
MutableBareField: android.database.sqlite.SQLiteDebug.PagerStats#pageCacheOverflow:
    
MutableBareField: android.os.StrictMode.ViolationInfo#broadcastIntentAction:
    
MutableBareField: android.os.StrictMode.ViolationInfo#durationMillis:
    
MutableBareField: android.os.StrictMode.ViolationInfo#numAnimationsRunning:
    
MutableBareField: android.os.StrictMode.ViolationInfo#numInstances:
    
MutableBareField: android.os.StrictMode.ViolationInfo#tags:
    
MutableBareField: android.os.StrictMode.ViolationInfo#violationNumThisLoop:
    
MutableBareField: android.os.StrictMode.ViolationInfo#violationUptimeMillis:
    


NoByteOrShort: android.media.audiofx.AudioEffect#byteArrayToShort(byte[]):
    
NoByteOrShort: android.media.audiofx.AudioEffect#setParameter(int, short) parameter #1:
    
NoByteOrShort: android.media.audiofx.AudioEffect#shortToByteArray(short) parameter #0:
    
NoByteOrShort: android.os.HwBlob#getInt16(long):
    
NoByteOrShort: android.os.HwBlob#getInt8(long):
    
NoByteOrShort: android.os.HwBlob#putInt16(long, short) parameter #1:
    
NoByteOrShort: android.os.HwBlob#putInt8(long, byte) parameter #1:
    
NoByteOrShort: android.os.HwParcel#readInt16():
    
NoByteOrShort: android.os.HwParcel#readInt8():
    
NoByteOrShort: android.os.HwParcel#writeInt16(short) parameter #0:
    
NoByteOrShort: android.os.HwParcel#writeInt8(byte) parameter #0:
    
NoByteOrShort: android.util.proto.EncodedBuffer#readRawByte():
    
NoByteOrShort: android.util.proto.EncodedBuffer#writeRawByte(byte) parameter #0:
    


NoClone: android.net.util.SocketUtils#bindSocketToInterface(java.io.FileDescriptor, String) parameter #0:
    
NoClone: android.net.util.SocketUtils#closeSocket(java.io.FileDescriptor) parameter #0:
    
NoClone: android.os.NativeHandle#NativeHandle(java.io.FileDescriptor, boolean) parameter #0:
    
NoClone: android.os.NativeHandle#getFileDescriptor():
    
NoClone: android.os.ParcelFileDescriptor#getFile(java.io.FileDescriptor) parameter #0:
    
NoClone: android.service.autofill.augmented.AugmentedAutofillService#dump(java.io.FileDescriptor, java.io.PrintWriter, String[]) parameter #0:
    
NoClone: android.service.contentcapture.ContentCaptureService#dump(java.io.FileDescriptor, java.io.PrintWriter, String[]) parameter #0:
    
NoClone: android.util.proto.ProtoOutputStream#ProtoOutputStream(java.io.FileDescriptor) parameter #0:
    


NoSettingsProvider: android.provider.Settings.Global#APP_OPS_CONSTANTS:
    
NoSettingsProvider: android.provider.Settings.Global#AUTOFILL_COMPAT_MODE_ALLOWED_PACKAGES:
    
NoSettingsProvider: android.provider.Settings.Global#AUTOMATIC_POWER_SAVE_MODE:
    
NoSettingsProvider: android.provider.Settings.Global#BATTERY_SAVER_CONSTANTS:
    
NoSettingsProvider: android.provider.Settings.Global#DYNAMIC_POWER_SAVINGS_DISABLE_THRESHOLD:
    
NoSettingsProvider: android.provider.Settings.Global#DYNAMIC_POWER_SAVINGS_ENABLED:
    
NoSettingsProvider: android.provider.Settings.Global#HIDDEN_API_BLACKLIST_EXEMPTIONS:
    
NoSettingsProvider: android.provider.Settings.Global#HIDE_ERROR_DIALOGS:
    
NoSettingsProvider: android.provider.Settings.Global#LOCATION_GLOBAL_KILL_SWITCH:
    
NoSettingsProvider: android.provider.Settings.Global#LOCATION_IGNORE_SETTINGS_PACKAGE_WHITELIST:
    
NoSettingsProvider: android.provider.Settings.Global#LOW_POWER_MODE:
    
NoSettingsProvider: android.provider.Settings.Global#LOW_POWER_MODE_STICKY:
    
NoSettingsProvider: android.provider.Settings.Global#NOTIFICATION_BUBBLES:
    
NoSettingsProvider: android.provider.Settings.Global#OVERLAY_DISPLAY_DEVICES:
    
NoSettingsProvider: android.provider.Settings.Global#TETHER_OFFLOAD_DISABLED:
    
NoSettingsProvider: android.provider.Settings.Global#USE_OPEN_WIFI_PACKAGE:
    
NoSettingsProvider: android.provider.Settings.Secure#ACCESSIBILITY_DISPLAY_MAGNIFICATION_ENABLED:
    
NoSettingsProvider: android.provider.Settings.Secure#ACCESSIBILITY_SHORTCUT_TARGET_SERVICE:
    
NoSettingsProvider: android.provider.Settings.Secure#AUTOFILL_FEATURE_FIELD_CLASSIFICATION:
    
NoSettingsProvider: android.provider.Settings.Secure#AUTOFILL_SERVICE:
    
NoSettingsProvider: android.provider.Settings.Secure#AUTOFILL_USER_DATA_MAX_CATEGORY_COUNT:
    
NoSettingsProvider: android.provider.Settings.Secure#AUTOFILL_USER_DATA_MAX_FIELD_CLASSIFICATION_IDS_SIZE:
    
NoSettingsProvider: android.provider.Settings.Secure#AUTOFILL_USER_DATA_MAX_USER_DATA_SIZE:
    
NoSettingsProvider: android.provider.Settings.Secure#AUTOFILL_USER_DATA_MAX_VALUE_LENGTH:
    
NoSettingsProvider: android.provider.Settings.Secure#AUTOFILL_USER_DATA_MIN_VALUE_LENGTH:
    
NoSettingsProvider: android.provider.Settings.Secure#CONTENT_CAPTURE_ENABLED:
    
NoSettingsProvider: android.provider.Settings.Secure#DISABLED_PRINT_SERVICES:
    
NoSettingsProvider: android.provider.Settings.Secure#DOZE_ALWAYS_ON:
    
NoSettingsProvider: android.provider.Settings.Secure#ENABLED_VR_LISTENERS:
    
NoSettingsProvider: android.provider.Settings.Secure#IMMERSIVE_MODE_CONFIRMATIONS:
    
NoSettingsProvider: android.provider.Settings.Secure#LOCATION_ACCESS_CHECK_DELAY_MILLIS:
    
NoSettingsProvider: android.provider.Settings.Secure#LOCATION_ACCESS_CHECK_INTERVAL_MILLIS:
    
NoSettingsProvider: android.provider.Settings.Secure#LOCK_SCREEN_ALLOW_PRIVATE_NOTIFICATIONS:
    
NoSettingsProvider: android.provider.Settings.Secure#LOCK_SCREEN_SHOW_NOTIFICATIONS:
    
NoSettingsProvider: android.provider.Settings.Secure#NFC_PAYMENT_DEFAULT_COMPONENT:
    
NoSettingsProvider: android.provider.Settings.Secure#NOTIFICATION_BADGING:
    
NoSettingsProvider: android.provider.Settings.Secure#POWER_MENU_LOCKED_SHOW_CONTENT:
    
NoSettingsProvider: android.provider.Settings.Secure#SYNC_PARENT_SOUNDS:
    
NoSettingsProvider: android.provider.Settings.Secure#USER_SETUP_COMPLETE:
    
NoSettingsProvider: android.provider.Settings.Secure#VOICE_INTERACTION_SERVICE:
    


NotCloseable: android.app.ActivityView:
    
NotCloseable: android.app.prediction.AppPredictor:
    
NotCloseable: android.net.EthernetManager.TetheredInterfaceRequest:
    
NotCloseable: android.os.HwParcel:
    
NotCloseable: android.telephony.ims.stub.ImsUtImplBase:
    


OnNameExpected: android.service.autofill.augmented.AugmentedAutofillService#dump(java.io.PrintWriter, String[]):
    
OnNameExpected: android.service.contentcapture.ContentCaptureService#dump(java.io.FileDescriptor, java.io.PrintWriter, String[]):
    
OnNameExpected: android.service.notification.ConditionProviderService#isBound():
    
OnNameExpected: android.service.notification.NotificationAssistantService#attachBaseContext(android.content.Context):
    
OnNameExpected: android.service.quicksettings.TileService#isQuickSettingsSupported():
    
OnNameExpected: android.service.watchdog.ExplicitHealthCheckService#setCallback(android.os.RemoteCallback):
    
OnNameExpected: android.telephony.ims.ImsService#createMmTelFeature(int):
    
OnNameExpected: android.telephony.ims.ImsService#createRcsFeature(int):
    
OnNameExpected: android.telephony.ims.ImsService#disableIms(int):
    
OnNameExpected: android.telephony.ims.ImsService#enableIms(int):
    
OnNameExpected: android.telephony.ims.ImsService#getConfig(int):
    
OnNameExpected: android.telephony.ims.ImsService#getRegistration(int):
    
OnNameExpected: android.telephony.ims.ImsService#querySupportedImsFeatures():
    
OnNameExpected: android.telephony.ims.ImsService#readyForFeatureCreation():
    
OnNameExpected: android.telephony.mbms.vendor.MbmsGroupCallServiceBase#dispose(int):
    
OnNameExpected: android.telephony.mbms.vendor.MbmsGroupCallServiceBase#initialize(android.telephony.mbms.MbmsGroupCallSessionCallback, int):
    
OnNameExpected: android.telephony.mbms.vendor.MbmsGroupCallServiceBase#startGroupCall(int, long, java.util.List<java.lang.Integer>, java.util.List<java.lang.Integer>, android.telephony.mbms.GroupCallCallback):
    
OnNameExpected: android.telephony.mbms.vendor.MbmsGroupCallServiceBase#stopGroupCall(int, long):
    
OnNameExpected: android.telephony.mbms.vendor.MbmsGroupCallServiceBase#updateGroupCall(int, long, java.util.List<java.lang.Integer>, java.util.List<java.lang.Integer>):
    


OptionalBuilderConstructorArgument: android.app.prediction.AppTargetEvent.Builder#Builder(android.app.prediction.AppTarget, int) parameter #0:
    
OptionalBuilderConstructorArgument: android.net.CaptivePortalData.Builder#Builder(android.net.CaptivePortalData) parameter #0:
    
OptionalBuilderConstructorArgument: android.os.VibrationAttributes.Builder#Builder(android.media.AudioAttributes, android.os.VibrationEffect) parameter #1:
    


PackageLayering: android.util.FeatureFlagUtils:
    


ParcelConstructor: android.os.IncidentManager.IncidentReport#IncidentReport(android.os.Parcel):
    
ParcelConstructor: android.os.IncidentReportArgs#IncidentReportArgs(android.os.Parcel):
    
ParcelConstructor: android.os.StrictMode.ViolationInfo#ViolationInfo(android.os.Parcel):
    
ParcelConstructor: android.os.VibrationEffect.OneShot#OneShot(android.os.Parcel):
    
ParcelConstructor: android.os.VibrationEffect.Prebaked#Prebaked(android.os.Parcel):
    
ParcelConstructor: android.os.VibrationEffect.Waveform#Waveform(android.os.Parcel):
    
ParcelConstructor: android.os.health.HealthStatsParceler#HealthStatsParceler(android.os.Parcel):
    
ParcelConstructor: android.service.notification.SnoozeCriterion#SnoozeCriterion(android.os.Parcel):
    


ParcelCreator: android.app.WindowConfiguration:
    
ParcelCreator: android.net.metrics.ApfProgramEvent:
    
ParcelCreator: android.net.metrics.ApfStats:
    
ParcelCreator: android.net.metrics.DhcpClientEvent:
    
ParcelCreator: android.net.metrics.DhcpErrorEvent:
    
ParcelCreator: android.net.metrics.IpConnectivityLog.Event:
    
ParcelCreator: android.net.metrics.IpManagerEvent:
    
ParcelCreator: android.net.metrics.IpReachabilityEvent:
    
ParcelCreator: android.net.metrics.NetworkEvent:
    
ParcelCreator: android.net.metrics.RaEvent:
    
ParcelCreator: android.net.metrics.ValidationProbeEvent:
    
ParcelCreator: android.os.VibrationEffect.OneShot:
    
ParcelCreator: android.os.VibrationEffect.Prebaked:
    
ParcelCreator: android.os.VibrationEffect.Waveform:
    
ParcelCreator: android.service.autofill.InternalOnClickAction:
    
ParcelCreator: android.service.autofill.InternalSanitizer:
    
ParcelCreator: android.service.autofill.InternalTransformation:
    
ParcelCreator: android.service.autofill.InternalValidator:
    


ParcelNotFinal: android.app.WindowConfiguration:
    
ParcelNotFinal: android.net.metrics.IpConnectivityLog.Event:
    
ParcelNotFinal: android.os.IncidentManager.IncidentReport:
    
ParcelNotFinal: android.os.VibrationEffect.OneShot:
    
ParcelNotFinal: android.os.VibrationEffect.Prebaked:
    
ParcelNotFinal: android.os.VibrationEffect.Waveform:
    
ParcelNotFinal: android.os.health.HealthStatsParceler:
    
ParcelNotFinal: android.service.autofill.InternalOnClickAction:
    
ParcelNotFinal: android.service.autofill.InternalSanitizer:
    
ParcelNotFinal: android.service.autofill.InternalTransformation:
    
ParcelNotFinal: android.service.autofill.InternalValidator:
    


ProtectedMember: android.app.ActivityView#onVisibilityChanged(android.view.View, int):
    
ProtectedMember: android.app.AppDetailsActivity#onCreate(android.os.Bundle):
    
ProtectedMember: android.os.VibrationEffect#scale(int, float, int):
    
ProtectedMember: android.service.autofill.augmented.AugmentedAutofillService#dump(java.io.FileDescriptor, java.io.PrintWriter, String[]):
    
ProtectedMember: android.service.autofill.augmented.AugmentedAutofillService#dump(java.io.PrintWriter, String[]):
    
ProtectedMember: android.service.contentcapture.ContentCaptureService#dump(java.io.FileDescriptor, java.io.PrintWriter, String[]):
    
ProtectedMember: android.service.notification.NotificationAssistantService#attachBaseContext(android.content.Context):
    
ProtectedMember: android.util.proto.ProtoStream#FIELD_TYPE_NAMES:
    
ProtectedMember: android.view.View#resetResolvedDrawables():
    
ProtectedMember: android.view.ViewGroup#resetResolvedDrawables():
    


RawAidl: android.telephony.mbms.vendor.MbmsDownloadServiceBase:
    
RawAidl: android.telephony.mbms.vendor.MbmsStreamingServiceBase:
    


RethrowRemoteException: android.app.ActivityManager#resumeAppSwitches():
    
RethrowRemoteException: android.os.HwBinder#getService(String, String):
    
RethrowRemoteException: android.os.HwBinder#getService(String, String, boolean):
    
RethrowRemoteException: android.os.HwBinder#onTransact(int, android.os.HwParcel, android.os.HwParcel, int):
    
RethrowRemoteException: android.os.HwBinder#registerService(String):
    
RethrowRemoteException: android.os.HwBinder#transact(int, android.os.HwParcel, android.os.HwParcel, int):
    
RethrowRemoteException: android.os.IHwBinder#transact(int, android.os.HwParcel, android.os.HwParcel, int):
    
RethrowRemoteException: android.telephony.ims.ImsService#onUpdateSupportedImsFeatures(android.telephony.ims.stub.ImsFeatureConfiguration):
    
RethrowRemoteException: android.telephony.mbms.vendor.MbmsDownloadServiceBase#addProgressListener(android.telephony.mbms.DownloadRequest, android.telephony.mbms.DownloadProgressListener):
    
RethrowRemoteException: android.telephony.mbms.vendor.MbmsDownloadServiceBase#addStatusListener(android.telephony.mbms.DownloadRequest, android.telephony.mbms.DownloadStatusListener):
    
RethrowRemoteException: android.telephony.mbms.vendor.MbmsDownloadServiceBase#cancelDownload(android.telephony.mbms.DownloadRequest):
    
RethrowRemoteException: android.telephony.mbms.vendor.MbmsDownloadServiceBase#dispose(int):
    
RethrowRemoteException: android.telephony.mbms.vendor.MbmsDownloadServiceBase#download(android.telephony.mbms.DownloadRequest):
    
RethrowRemoteException: android.telephony.mbms.vendor.MbmsDownloadServiceBase#initialize(int, android.telephony.mbms.MbmsDownloadSessionCallback):
    
RethrowRemoteException: android.telephony.mbms.vendor.MbmsDownloadServiceBase#listPendingDownloads(int):
    
RethrowRemoteException: android.telephony.mbms.vendor.MbmsDownloadServiceBase#onTransact(int, android.os.Parcel, android.os.Parcel, int):
    
RethrowRemoteException: android.telephony.mbms.vendor.MbmsDownloadServiceBase#removeProgressListener(android.telephony.mbms.DownloadRequest, android.telephony.mbms.DownloadProgressListener):
    
RethrowRemoteException: android.telephony.mbms.vendor.MbmsDownloadServiceBase#removeStatusListener(android.telephony.mbms.DownloadRequest, android.telephony.mbms.DownloadStatusListener):
    
RethrowRemoteException: android.telephony.mbms.vendor.MbmsDownloadServiceBase#requestDownloadState(android.telephony.mbms.DownloadRequest, android.telephony.mbms.FileInfo):
    
RethrowRemoteException: android.telephony.mbms.vendor.MbmsDownloadServiceBase#requestUpdateFileServices(int, java.util.List<java.lang.String>):
    
RethrowRemoteException: android.telephony.mbms.vendor.MbmsDownloadServiceBase#resetDownloadKnowledge(android.telephony.mbms.DownloadRequest):
    
RethrowRemoteException: android.telephony.mbms.vendor.MbmsDownloadServiceBase#setTempFileRootDirectory(int, String):
    
RethrowRemoteException: android.telephony.mbms.vendor.MbmsGroupCallServiceBase#dispose(int):
    
RethrowRemoteException: android.telephony.mbms.vendor.MbmsGroupCallServiceBase#initialize(android.telephony.mbms.MbmsGroupCallSessionCallback, int):
    
RethrowRemoteException: android.telephony.mbms.vendor.MbmsStreamingServiceBase#dispose(int):
    
RethrowRemoteException: android.telephony.mbms.vendor.MbmsStreamingServiceBase#getPlaybackUri(int, String):
    
RethrowRemoteException: android.telephony.mbms.vendor.MbmsStreamingServiceBase#initialize(android.telephony.mbms.MbmsStreamingSessionCallback, int):
    
RethrowRemoteException: android.telephony.mbms.vendor.MbmsStreamingServiceBase#onTransact(int, android.os.Parcel, android.os.Parcel, int):
    
RethrowRemoteException: android.telephony.mbms.vendor.MbmsStreamingServiceBase#requestUpdateStreamingServices(int, java.util.List<java.lang.String>):
    
RethrowRemoteException: android.telephony.mbms.vendor.MbmsStreamingServiceBase#startStreaming(int, String, android.telephony.mbms.StreamingServiceCallback):
    
RethrowRemoteException: android.telephony.mbms.vendor.MbmsStreamingServiceBase#stopStreaming(int, String):
    


SamShouldBeLast: android.app.ActivityManager#addOnUidImportanceListener(android.app.ActivityManager.OnUidImportanceListener, int):
    
SamShouldBeLast: android.app.role.RoleManager#addOnRoleHoldersChangedListenerAsUser(java.util.concurrent.Executor, android.app.role.OnRoleHoldersChangedListener, android.os.UserHandle):
    
SamShouldBeLast: android.app.role.RoleManager#removeOnRoleHoldersChangedListenerAsUser(android.app.role.OnRoleHoldersChangedListener, android.os.UserHandle):
    
SamShouldBeLast: android.database.sqlite.SQLiteDebug#dump(android.util.Printer, String[]):
    
SamShouldBeLast: android.database.sqlite.SQLiteDirectCursorDriver#query(android.database.sqlite.SQLiteDatabase.CursorFactory, String[]):
    
SamShouldBeLast: android.location.LocationManager#requestLocationUpdates(android.location.LocationRequest, android.location.LocationListener, android.os.Looper):
    
SamShouldBeLast: android.location.LocationManager#requestLocationUpdates(android.location.LocationRequest, java.util.concurrent.Executor, android.location.LocationListener):
    
SamShouldBeLast: android.os.BugreportManager#startBugreport(android.os.ParcelFileDescriptor, android.os.ParcelFileDescriptor, android.os.BugreportParams, java.util.concurrent.Executor, android.os.BugreportManager.BugreportCallback):
    
SamShouldBeLast: android.os.IHwBinder#linkToDeath(android.os.IHwBinder.DeathRecipient, long):
    
SamShouldBeLast: android.os.StrictMode.ViolationInfo#dump(android.util.Printer, String):
    
SamShouldBeLast: android.permission.PermissionControllerManager#countPermissionApps(java.util.List<java.lang.String>, int, android.permission.PermissionControllerManager.OnCountPermissionAppsResultCallback, android.os.Handler):
    
SamShouldBeLast: android.permission.PermissionControllerManager#getAppPermissions(String, android.permission.PermissionControllerManager.OnGetAppPermissionResultCallback, android.os.Handler):
    
SamShouldBeLast: android.permission.PermissionControllerManager#revokeRuntimePermissions(java.util.Map<java.lang.String,java.util.List<java.lang.String>>, boolean, int, java.util.concurrent.Executor, android.permission.PermissionControllerManager.OnRevokeRuntimePermissionsCallback):
    
SamShouldBeLast: android.service.autofill.CharSequenceTransformation#apply(android.service.autofill.ValueFinder, android.widget.RemoteViews, int):
    
SamShouldBeLast: android.service.autofill.DateTransformation#apply(android.service.autofill.ValueFinder, android.widget.RemoteViews, int):
    
SamShouldBeLast: android.service.autofill.ImageTransformation#apply(android.service.autofill.ValueFinder, android.widget.RemoteViews, int):
    
SamShouldBeLast: android.service.autofill.InternalTransformation#batchApply(android.service.autofill.ValueFinder, android.widget.RemoteViews, java.util.ArrayList<android.util.Pair<java.lang.Integer,android.service.autofill.InternalTransformation>>):
    
SamShouldBeLast: android.telephony.ims.ImsMmTelManager#getFeatureState(java.util.function.Consumer<java.lang.Integer>, java.util.concurrent.Executor):
    
SamShouldBeLast: android.view.Choreographer#postCallback(int, Runnable, Object):
    
SamShouldBeLast: android.view.Choreographer#postCallbackDelayed(int, Runnable, Object, long):
    
SamShouldBeLast: android.view.Choreographer#removeCallbacks(int, Runnable, Object):
    
SamShouldBeLast: android.view.ViewDebug#startRenderingCommandsCapture(android.view.View, java.util.concurrent.Executor, java.util.function.Function<android.graphics.Picture,java.lang.Boolean>):
    
SamShouldBeLast: android.view.accessibility.AccessibilityManager#addAccessibilityServicesStateChangeListener(android.view.accessibility.AccessibilityManager.AccessibilityServicesStateChangeListener, android.os.Handler):
    


ServiceName: android.Manifest.permission#BIND_CELL_BROADCAST_SERVICE:
    
ServiceName: android.app.AppOpsManager#OPSTR_BIND_ACCESSIBILITY_SERVICE:
    
ServiceName: android.provider.Settings.Secure#ACCESSIBILITY_SHORTCUT_TARGET_SERVICE:
    
ServiceName: android.provider.Settings.Secure#AUTOFILL_SERVICE:
    
ServiceName: android.provider.Settings.Secure#VOICE_INTERACTION_SERVICE:
    


SetterReturnsThis: android.media.audiopolicy.AudioPolicy.Builder#setAudioPolicyFocusListener(android.media.audiopolicy.AudioPolicy.AudioPolicyFocusListener):
    
SetterReturnsThis: android.media.audiopolicy.AudioPolicy.Builder#setAudioPolicyStatusListener(android.media.audiopolicy.AudioPolicy.AudioPolicyStatusListener):
    


StaticFinalBuilder: android.content.integrity.RuleSet.Builder:
    
StaticFinalBuilder: android.hardware.display.BrightnessConfiguration.Builder:
    
StaticFinalBuilder: android.media.audiopolicy.AudioMix.Builder:
    
StaticFinalBuilder: android.media.audiopolicy.AudioMixingRule.Builder:
    
StaticFinalBuilder: android.media.audiopolicy.AudioPolicy.Builder:
    
StaticFinalBuilder: android.net.CaptivePortalData.Builder:
    
StaticFinalBuilder: android.net.TetheringManager.TetheringRequest.Builder:
    
StaticFinalBuilder: android.telephony.ims.stub.ImsFeatureConfiguration.Builder:
    


StaticUtils: android.os.health.HealthKeys:
    
StaticUtils: android.service.autofill.InternalTransformation:
    
StaticUtils: android.telephony.mbms.vendor.VendorUtils:
    
StaticUtils: android.util.FeatureFlagUtils:
    
StaticUtils: android.util.proto.ProtoStream:
    


StreamFiles: android.os.Environment#buildPath(java.io.File, java.lang.String...):
    
StreamFiles: android.os.FileUtils#contains(java.io.File, java.io.File):
    
StreamFiles: android.provider.MediaStore#scanFile(android.content.Context, java.io.File):
    
StreamFiles: android.provider.MediaStore#scanFileFromShell(android.content.Context, java.io.File):
    
StreamFiles: android.provider.MediaStore#scanVolume(android.content.Context, java.io.File):
    


UseIcu: android.hardware.soundtrigger.KeyphraseEnrollmentInfo#getKeyphraseMetadata(String, java.util.Locale) parameter #1:
    
UseIcu: android.hardware.soundtrigger.KeyphraseEnrollmentInfo#getManageKeyphraseIntent(int, String, java.util.Locale) parameter #2:
    
UseIcu: android.hardware.soundtrigger.KeyphraseMetadata#supportsLocale(java.util.Locale) parameter #0:
    
UseIcu: android.hardware.soundtrigger.SoundTrigger.Keyphrase#Keyphrase(int, int, java.util.Locale, String, int[]) parameter #2:
    
UseIcu: android.hardware.soundtrigger.SoundTrigger.Keyphrase#getLocale():
    


UseParcelFileDescriptor: android.util.proto.ProtoOutputStream#ProtoOutputStream(java.io.FileDescriptor) parameter #0:
    


UserHandle: android.app.ActivityManager#switchUser(android.os.UserHandle):
    
UserHandle: android.app.admin.DevicePolicyManager#getOwnerInstalledCaCerts(android.os.UserHandle):
    
UserHandle: android.app.role.RoleManager#addOnRoleHoldersChangedListenerAsUser(java.util.concurrent.Executor, android.app.role.OnRoleHoldersChangedListener, android.os.UserHandle):
    
UserHandle: android.app.role.RoleManager#addRoleHolderAsUser(String, String, int, android.os.UserHandle, java.util.concurrent.Executor, java.util.function.Consumer<java.lang.Boolean>):
    
UserHandle: android.app.role.RoleManager#clearRoleHoldersAsUser(String, int, android.os.UserHandle, java.util.concurrent.Executor, java.util.function.Consumer<java.lang.Boolean>):
    
UserHandle: android.app.role.RoleManager#getRoleHoldersAsUser(String, android.os.UserHandle):
    
UserHandle: android.app.role.RoleManager#removeOnRoleHoldersChangedListenerAsUser(android.app.role.OnRoleHoldersChangedListener, android.os.UserHandle):
    
UserHandle: android.app.role.RoleManager#removeRoleHolderAsUser(String, String, int, android.os.UserHandle, java.util.concurrent.Executor, java.util.function.Consumer<java.lang.Boolean>):
    
UserHandle: android.app.usage.StorageStatsManager#queryCratesForPackage(java.util.UUID, String, android.os.UserHandle):
    
UserHandle: android.app.usage.StorageStatsManager#queryCratesForUser(java.util.UUID, android.os.UserHandle):
    
UserHandle: android.companion.CompanionDeviceManager#isDeviceAssociated(String, android.net.MacAddress, android.os.UserHandle):
    
UserHandle: android.companion.CompanionDeviceManager#isDeviceAssociatedForWifiConnection(String, android.net.MacAddress, android.os.UserHandle):
    
UserHandle: android.content.pm.PackageManager#getInstallReason(String, android.os.UserHandle):
    
UserHandle: android.content.pm.PackageManager#getPermissionFlags(String, String, android.os.UserHandle):
    
UserHandle: android.content.pm.PackageManager#grantRuntimePermission(String, String, android.os.UserHandle):
    
UserHandle: android.content.pm.PackageManager#revokeRuntimePermission(String, String, android.os.UserHandle):
    
UserHandle: android.content.pm.PackageManager#revokeRuntimePermission(String, String, android.os.UserHandle, String):
    
UserHandle: android.content.pm.PackageManager#updatePermissionFlags(String, String, int, int, android.os.UserHandle):
    
UserHandle: android.location.LocationManager#setLocationEnabledForUser(boolean, android.os.UserHandle):
    
UserHandle: android.permission.PermissionControllerManager#applyStagedRuntimePermissionBackup(String, android.os.UserHandle, java.util.concurrent.Executor, java.util.function.Consumer<java.lang.Boolean>):
    
UserHandle: android.permission.PermissionControllerManager#getRuntimePermissionBackup(android.os.UserHandle, java.util.concurrent.Executor, java.util.function.Consumer<byte[]>):
    
UserHandle: android.permission.PermissionControllerManager#stageAndApplyRuntimePermissionsBackup(byte[], android.os.UserHandle):
    
UserHandle: android.telecom.TelecomManager#getDefaultDialerPackage(android.os.UserHandle):
    


UserHandleName: android.app.ActivityView#startActivity(android.content.Intent, android.os.UserHandle):
    
UserHandleName: android.content.AutofillOptions:
    
UserHandleName: android.content.ContentCaptureOptions:
    
UserHandleName: android.os.IncidentReportArgs:
    
UserHandleName: android.provider.MediaStore#deleteContributedMedia(android.content.Context, String, android.os.UserHandle):
    
UserHandleName: android.provider.MediaStore#getContributedMediaSize(android.content.Context, String, android.os.UserHandle):
    


VisiblySynchronized: PsiClassObjectAccessExpression:
    
VisiblySynchronized: PsiThisExpression:
    
VisiblySynchronized: android.app.ActivityManager#addOnUidImportanceListener(android.app.ActivityManager.OnUidImportanceListener, int):
    
VisiblySynchronized: android.app.ActivityManager#removeOnUidImportanceListener(android.app.ActivityManager.OnUidImportanceListener):
    
VisiblySynchronized: android.content.ContentProviderClient#setDetectNotResponding(long):
    
VisiblySynchronized: android.content.res.AssetManager#getApkPaths():
    
VisiblySynchronized: android.content.res.AssetManager#getLastResourceResolution():
    
VisiblySynchronized: android.content.res.AssetManager#getOverlayablesToString(String):
    
VisiblySynchronized: android.content.res.AssetManager#setResourceResolutionLoggingEnabled(boolean):
    
VisiblySynchronized: android.os.MessageQueue#removeSyncBarrier(int):
    
